nutrition-label-jquery-plugin
Version:
To be able to create a FDA-style nutrition label with any nutrition data source
521 lines (450 loc) • 21.2 kB
HTML
<html lang="en">
<head>
<title>UK Version Demo Page</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-7s5uDGW3AHqw6xtJmNNtr+OBRJUlgkNJEo78P4b0yRw= sha512-nNo+yCHEyn0smMxSswnf/OnX6/KwJuZTlNZBjauKhTK0c+zT+q5JOCx0UFhXQ6rJR9jg6Es8gPuD2uZcYDLqSw==" crossorigin="anonymous">
<link rel='stylesheet' type='text/css' media='all' href='../../nutritionLabel-min.css'>
<link rel='stylesheet' type='text/css' media='all' href='./../css/demo.css'>
<!-- google webfont for nutrition label -->
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Archivo+Black" />
<style>
.valueTD {
padding-left: 30px;
padding-top: 5px;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li><a href="../demo.html"><i class="icon-chevron-right"></i> Back to Demo Page</a></li>
<li><a href="#test1"><i class="icon-chevron-right"></i> Eg 1 - Rounding Off; Decimal Place 1</a></li>
<li><a href="#test2"><i class="icon-chevron-right"></i> Eg 2 - Rounding On; Decimal Place 1</a></li>
<li><a href="#test3"><i class="icon-chevron-right"></i> Eg 3 - Rounding Off; Decimal Place 2</a></li>
<li><a href="#test4"><i class="icon-chevron-right"></i> Eg 4 - Rounding On; Decimal Place 2</a></li>
<li><a href="#test5"><i class="icon-chevron-right"></i> Eg 5 - Rounding Off; Decimal Place 3</a></li>
<li><a href="#test6"><i class="icon-chevron-right"></i> Eg 6 - Rounding On; Decimal Place 3</a></li>
<li><a href="#test7"><i class="icon-chevron-right"></i> Eg 7 - Rounding Off; Decimal Place 4</a></li>
<li><a href="#test8"><i class="icon-chevron-right"></i> Eg 8 - Rounding On; Decimal Place 4</a></li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<div class="row">
<div class="col-md-4">
<div id="test1"></div>
<div id="test1Data"></div>
</div>
<div class="col-md-8">
<h3>Example #1 - Rounding Off; Decimal Place 1</h3>
<pre id="pre1">
var min = 200;
var max = 2000;
$('#test1').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding Off; Decimal Place 1',
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .01,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .01,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .01,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .01,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .01,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .01,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .01,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .01,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .01
});
$('#test1Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test1Data #varValueCalories').html(varValueCalories);
$('#test1Data #varValueTotalFat').html(varValueTotalFat);
$('#test1Data #varValueSatFat').html(varValueSatFat);
$('#test1Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test1Data #varValueSugars').html(varValueSugars);
$('#test1Data #varValueFibers').html(varValueFibers);
$('#test1Data #varValueProteins').html(varValueProteins);
$('#test1Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test2"></div>
<div id="test2Data"></div>
</div>
<div class="col-md-8">
<h3>Example #2 - Rounding On; Decimal Place 1</h3>
<pre id="pre2">
var min = 200;
var max = 2000;
$('#test2').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding On; Decimal Place 1',
allowFDARounding : true,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .01,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .01,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .01,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .01,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .01,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .01,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .01,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .01,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .01
});
$('#test2Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test2Data #varValueCalories').html(varValueCalories);
$('#test2Data #varValueTotalFat').html(varValueTotalFat);
$('#test2Data #varValueSatFat').html(varValueSatFat);
$('#test2Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test2Data #varValueSugars').html(varValueSugars);
$('#test2Data #varValueFibers').html(varValueFibers);
$('#test2Data #varValueProteins').html(varValueProteins);
$('#test2Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test3"></div>
<div id="test3Data"></div>
</div>
<div class="col-md-8">
<h3>Example #3 - Rounding Off; Decimal Place 2</h3>
<pre id="pre3">
var min = 2000;
var max = 20000;
$('#test3').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding Off; Decimal Place 2',
decimalPlacesForNutrition : 2,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .001
});
$('#test3Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test3Data #varValueCalories').html(varValueCalories);
$('#test3Data #varValueTotalFat').html(varValueTotalFat);
$('#test3Data #varValueSatFat').html(varValueSatFat);
$('#test3Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test3Data #varValueSugars').html(varValueSugars);
$('#test3Data #varValueFibers').html(varValueFibers);
$('#test3Data #varValueProteins').html(varValueProteins);
$('#test3Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test4"></div>
<div id="test4Data"></div>
</div>
<div class="col-md-8">
<h3>Example #4 - Rounding On; Decimal Place 2</h3>
<pre id="pre4">
var min = 2000;
var max = 20000;
$('#test4').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding On; Decimal Place 2',
allowFDARounding : true,
decimalPlacesForNutrition : 2,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .001
});
$('#test4Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test4Data #varValueCalories').html(varValueCalories);
$('#test4Data #varValueTotalFat').html(varValueTotalFat);
$('#test4Data #varValueSatFat').html(varValueSatFat);
$('#test4Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test4Data #varValueSugars').html(varValueSugars);
$('#test4Data #varValueFibers').html(varValueFibers);
$('#test4Data #varValueProteins').html(varValueProteins);
$('#test4Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test5"></div>
<div id="test5Data"></div>
</div>
<div class="col-md-8">
<h3>Example #5 - Rounding Off; Decimal Place 3</h3>
<pre id="pre5">
var min = 20000;
var max = 200000;
$('#test5').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding Off; Decimal Place 3',
decimalPlacesForNutrition : 3,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .0001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .0001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .0001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .0001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .0001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .0001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .0001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .0001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .0001
});
$('#test5Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test5Data #varValueCalories').html(varValueCalories);
$('#test5Data #varValueTotalFat').html(varValueTotalFat);
$('#test5Data #varValueSatFat').html(varValueSatFat);
$('#test5Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test5Data #varValueSugars').html(varValueSugars);
$('#test5Data #varValueFibers').html(varValueFibers);
$('#test5Data #varValueProteins').html(varValueProteins);
$('#test5Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test6"></div>
<div id="test6Data"></div>
</div>
<div class="col-md-8">
<h3>Example #6 - Rounding On; Decimal Place 3</h3>
<pre id="pre6">
var min = 20000;
var max = 200000;
$('#test6').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding On; Decimal Place 3',
allowFDARounding : true,
decimalPlacesForNutrition : 3,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .0001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .0001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .0001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .0001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .0001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .0001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .0001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .0001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .0001
});
$('#test6Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test6Data #varValueCalories').html(varValueCalories);
$('#test6Data #varValueTotalFat').html(varValueTotalFat);
$('#test6Data #varValueSatFat').html(varValueSatFat);
$('#test6Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test6Data #varValueSugars').html(varValueSugars);
$('#test6Data #varValueFibers').html(varValueFibers);
$('#test6Data #varValueProteins').html(varValueProteins);
$('#test6Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test7"></div>
<div id="test7Data"></div>
</div>
<div class="col-md-8">
<h3>Example #7 - Rounding Off; Decimal Place 4</h3>
<pre id="pre7">
var min = 200000;
var max = 2000000;
$('#test7').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding Off; Decimal Place 4',
decimalPlacesForNutrition : 4,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .00001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .00001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .00001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .00001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .00001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .00001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .00001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .00001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .00001
});
$('#test7Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test7Data #varValueCalories').html(varValueCalories);
$('#test7Data #varValueTotalFat').html(varValueTotalFat);
$('#test7Data #varValueSatFat').html(varValueSatFat);
$('#test7Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test7Data #varValueSugars').html(varValueSugars);
$('#test7Data #varValueFibers').html(varValueFibers);
$('#test7Data #varValueProteins').html(varValueProteins);
$('#test7Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
<div class="row">
<div class="col-md-4">
<div id="test8"></div>
<div id="test8Data"></div>
</div>
<div class="col-md-8">
<h3>Example #8 - Rounding On; Decimal Place 4</h3>
<pre id="pre8">
var min = 200000;
var max = 2000000;
$('#test8').nutritionLabel({
width : 380,
showLegacyVersion : false,
showUKVersion : true,
showItemNameForUK : true,
showDailySugars : true,
dailyValueTotalFat : 70, //this should be 70 for the uk version
dailyValueCarb : 260, //this should be 260 for the uk version
dailyValueSugar : 90, //this should be 90 for the uk version
textCalories : 'Energy',
textTotalCarb : 'Carbohydrate',
textFibers : 'Fibre',
textSodium : 'Salt',
itemName : 'Rounding On; Decimal Place 4',
allowFDARounding : true,
decimalPlacesForNutrition : 4,
valueServingWeightGrams : varValueServingWeightGrams = Math.floor((Math.random() * max) + min) * .00001,
valueCalories : varValueCalories = Math.floor((Math.random() * max) + min) * .00001,
valueTotalFat : varValueTotalFat = Math.floor((Math.random() * max) + min) * .00001,
valueSatFat : varValueSatFat = Math.floor((Math.random() * max) + min) * .00001,
valueTotalCarb : varValueTotalCarb = Math.floor((Math.random() * max) + min) * .00001,
valueSugars : varValueSugars = Math.floor((Math.random() * max) + min) * .00001,
valueFibers : varValueFibers = Math.floor((Math.random() * max) + min) * .00001,
valueProteins : varValueProteins = Math.floor((Math.random() * max) + min) * .00001,
valueSodium : varValueSodium = Math.floor((Math.random() * max) + min) * .00001
});
$('#test8Data #varValueServingWeightGrams').html(varValueServingWeightGrams);
$('#test8Data #varValueCalories').html(varValueCalories);
$('#test8Data #varValueTotalFat').html(varValueTotalFat);
$('#test8Data #varValueSatFat').html(varValueSatFat);
$('#test8Data #varValueTotalCarb').html(varValueTotalCarb);
$('#test8Data #varValueSugars').html(varValueSugars);
$('#test8Data #varValueFibers').html(varValueFibers);
$('#test8Data #varValueProteins').html(varValueProteins);
$('#test8Data #varValueSodium').html(varValueSodium);
</pre>
</div>
</div><br /><br /><br />
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript" src="../../nutritionLabel-min.js"></script>
<script type="text/javascript">
let tableTemplate = '<br/><table><tbody>' +
'<tr><th colspan="2">Actual Data used by the label</th></tr>' +
'<tr><td>Serving Weight Grams</td><td class="valueTD" id="varValueServingWeightGrams"></td></tr>' +
'<tr><td>Calories</td><td class="valueTD" id="varValueCalories"></td></tr>' +
'<tr><td>Total Fat</td><td class="valueTD" id="varValueTotalFat"></td></tr>' +
'<tr><td>Saturated Fat</td><td class="valueTD" id="varValueSatFat"></td></tr>' +
'<tr><td>Total Carb</td><td class="valueTD" id="varValueTotalCarb"></td></tr>' +
'<tr><td>Sugars</td><td class="valueTD" id="varValueSugars"></td></tr>' +
'<tr><td>Fibers</td><td class="valueTD" id="varValueFibers"></td></tr>' +
'<tr><td>Proteins</td><td class="valueTD" id="varValueProteins"></td></tr>' +
'<tr><td>Sodium</td><td class="valueTD" id="varValueSodium"></td></tr>' +
'</tbody></table>';
$(document).ready(function(){
$('#test1Data').html(tableTemplate);
$('#test2Data').html(tableTemplate);
$('#test3Data').html(tableTemplate);
$('#test4Data').html(tableTemplate);
$('#test5Data').html(tableTemplate);
$('#test6Data').html(tableTemplate);
$('#test7Data').html(tableTemplate);
$('#test8Data').html(tableTemplate);
eval( eval( $('#pre1').html() ) );
eval( eval( $('#pre2').html() ) );
eval( eval( $('#pre3').html() ) );
eval( eval( $('#pre4').html() ) );
eval( eval( $('#pre5').html() ) );
eval( eval( $('#pre6').html() ) );
eval( eval( $('#pre7').html() ) );
eval( eval( $('#pre8').html() ) );
});
</script>
</body>
</html>