diff --git a/js/GetData.js b/js/GetData.js
index f227340..a92f424 100644
--- a/js/GetData.js
+++ b/js/GetData.js
@@ -14,444 +14,411 @@
* along with this program. If not, see .
*/
-/* utFoods DataBase Tools */
+/* KalTracker DataBase Tools */
function connectDB() {
return LocalStorage.openDatabaseSync("kaltracker_db", "0.2", "keepsYourData", 2000000);
}
-// assign to homepage property the amount of calories ingested
-function getTotalCalConsumed(){
- var total_cal_consumed = 'SELECT SUM(i.cal) AS totalcal \
- FROM ingestions i \
- WHERE i.date == "which_date"'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_consumed)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalcal
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.user_profile.plan.cal_consumed = 0
- } else{
- logical_fields.user_profile.plan.cal_consumed = rsToQML
- }
+var db = connectDB();
+
+function getTotalCalConsumed() {
+ var total_cal_consumed = `SELECT SUM(i.cal) AS totalcal
+ FROM ingestions i
+ WHERE i.date == ?`;
+ db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_consumed, [logical_fields.application.date_utils.long_date]);
+
+ if (results.rows.length > 0) {
+ var rsToQML = results.rows.item(0).totalcal;
+ logical_fields.user_profile.plan.cal_consumed = rsToQML || 0;
+ } else {
+ logical_fields.user_profile.plan.cal_consumed = 0;
}
- })
+ });
}
-//assign to homepage property the calories left
-function getTotalCalRemaining(){
- var total_cal_remaining = 'WITH dif AS (SELECT (user.rec_cal - SUM(i.cal)) AS remaining \
- FROM ingestions i \
- JOIN user ON i.id_user = user.id \
- WHERE i.date == "which_date") \
- SELECT remaining FROM dif'.replace("which_date",logical_fields.application.date_utils.long_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_remaining)
- for (var i = 0; i < results.rows.length; i++) {
- var rsToQML = results.rows.item(i).remaining
- if (rsToQML === null || rsToQML === 0 ){
- logical_fields.user_profile.plan.cal_remaining = app_settings.rec_cal
+
+function getTotalCalRemaining() {
+ var total_cal_remaining = `WITH dif AS (
+ SELECT (u.rec_cal - SUM(i.cal)) AS remaining
+ FROM ingestions i, user u
+ WHERE i.id_user = u.id AND
+ i.date = ?
+ )
+ SELECT remaining FROM dif`;
+
+ db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_remaining, [logical_fields.application.date_utils.long_date]);
+
+ if (results.rows.length > 0) {
+ var rsToQML = results.rows.item(0).remaining;
+ logical_fields.user_profile.plan.cal_remaining = rsToQML || app_settings.rec_cal;
} else {
- logical_fields.user_profile.plan.cal_remaining = rsToQML
+ logical_fields.user_profile.plan.cal_remaining = app_settings.rec_cal;
}
- }
- })
+ });
}
-//assign to homepage property the amount foods ingested
-function getTotalFoodsConsumed(){
- var total_foods_consumed = 'SELECT COUNT(i.id) AS totalFoods \
- FROM ingestions i \
- WHERE i.date == "which_date"'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_foods_consumed)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalFoods
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.metrics.total_foods_consumed = 0
- } else{
- logical_fields.metrics.total_foods_consumed = rsToQML
- }
+
+function getTotalFoodsConsumed() {
+ var total_foods_consumed = `SELECT COUNT(i.id) AS totalFoods
+ FROM ingestions i
+ WHERE i.date = ?`;
+
+ db.transaction(function(tx) {
+ var results = tx.executeSql(total_foods_consumed, [logical_fields.application.date_utils.long_date]);
+
+ if (results.rows.length > 0) {
+ var rsToQML = results.rows.item(0).totalFoods;
+ logical_fields.metrics.total_foods_consumed = rsToQML || 0;
+ } else {
+ logical_fields.metrics.total_foods_consumed = 0;
}
- })
+ });
}
-//assign to homepage property the amount calories ingested in breakfast
-function getBreakfastCalories(){
- var total_cal_consumed_breakfast = 'SELECT SUM(i.cal) AS totalcal \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 0'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_consumed_breakfast)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalcal
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.metrics.total_cal_breakfast = 0
- } else{
- logical_fields.metrics.total_cal_breakfast = rsToQML
- }
- }
- })
- }
+function getBreakfastCalories() {
+ var total_cal_consumed_breakfast = `SELECT SUM(i.cal) AS totalcal
+ FROM ingestions i
+ WHERE i.date = ? AND i.meal = 0`;
- function getYesterdayBreakfast(){
- filtered_meal_model.clear()
- var yesterday_breakfast = 'SELECT id AS id, name AS name, nutriscore AS nutriscore, cal AS cal, fat AS fat, carbo AS carbo, protein AS protein \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 0'.replace("which_date", bottom_edge.yesterday_formated_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(yesterday_breakfast)
- for (var i = 0; i < results.rows.length; i++) {
- filtered_meal_model.append({
- "id" : results.rows.item(i).id,
- "name" : results.rows.item(i).name,
- "nutriscore" : results.rows.item(i).nutriscore,
- "cal" : results.rows.item(i).cal,
- "fat" : results.rows.item(i).fat,
- "carbo" : results.rows.item(i).carbo,
- "protein" : results.rows.item(i).protein
- })
- }
- })
- }
+ db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_consumed_breakfast, [logical_fields.application.date_utils.long_date]);
- //assign to homepage property the amount calories ingested in lunch
- function getLunchCalories(){
- var total_cal_consumed_lunch = 'SELECT SUM(i.cal) AS totalcal \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 1'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_consumed_lunch)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalcal
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.metrics.total_cal_lunch = 0
- } else{
- logical_fields.metrics.total_cal_lunch = rsToQML
+ if (results.rows.length > 0) {
+ var rsToQML = results.rows.item(0).totalcal;
+ logical_fields.metrics.total_cal_breakfast = rsToQML || 0;
+ } else {
+ logical_fields.metrics.total_cal_breakfast = 0;
}
- }
- })
- }
+ });
+}
- function getYesterdayLunch(){
- filtered_meal_model.clear()
- var yesterday_lunch = 'SELECT id AS id, name AS name, nutriscore AS nutriscore, cal AS cal, fat AS fat, carbo AS carbo, protein AS protein \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 1'.replace("which_date", bottom_edge.yesterday_formated_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(yesterday_lunch)
- for (var i = 0; i < results.rows.length; i++) {
- filtered_meal_model.append({
- "id" : results.rows.item(i).id,
- "name" : results.rows.item(i).name,
- "nutriscore" : results.rows.item(i).nutriscore,
- "cal" : results.rows.item(i).cal,
- "fat" : results.rows.item(i).fat,
- "carbo" : results.rows.item(i).carbo,
- "protein" : results.rows.item(i).protein
- })
- }
- })
- }
- //assign to homepage property the amount calories ingested in dinner
- function getDinnerCalories(){
- var total_cal_consumed_dinner = 'SELECT SUM(i.cal) AS totalcal \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 2'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_consumed_dinner)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalcal
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.metrics.total_cal_dinner = 0
- } else{
- logical_fields.metrics.total_cal_dinner = rsToQML
- }
- }
- })
- }
+function getYesterdayBreakfast() {
+ filtered_meal_model.clear();
+ var yesterday_breakfast = `SELECT id, name, nutriscore, cal, fat, carbo, protein
+ FROM ingestions
+ WHERE date = ? AND meal = 0`;
+
+ db.transaction(function(tx) {
+ var results = tx.executeSql(yesterday_breakfast, [bottom_edge.yesterday_formated_date]);
- function getYesterdayDinner(){
- filtered_meal_model.clear()
- var yesterday_dinner = 'SELECT id AS id, name AS name, nutriscore AS nutriscore, cal AS cal, fat AS fat, carbo AS carbo, protein AS protein \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 2'.replace("which_date", bottom_edge.yesterday_formated_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(yesterday_dinner)
for (var i = 0; i < results.rows.length; i++) {
- filtered_meal_model.append({
- "id" : results.rows.item(i).id,
- "name" : results.rows.item(i).name,
- "nutriscore" : results.rows.item(i).nutriscore,
- "cal" : results.rows.item(i).cal,
- "fat" : results.rows.item(i).fat,
- "carbo" : results.rows.item(i).carbo,
- "protein" : results.rows.item(i).protein
- })
+ var item = results.rows.item(i);
+ filtered_meal_model.append({
+ "id": item.id,
+ "name": item.name,
+ "nutriscore": item.nutriscore,
+ "cal": item.cal,
+ "fat": item.fat,
+ "carbo": item.carbo,
+ "protein": item.protein
+ });
}
- })
- }
+ });
+}
+
- //assign to homepage property the amount calories ingested in snacks
- function getSnacksCalories(){
- var total_cal_consumed_snacks = 'SELECT SUM(i.cal) AS totalcal \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 3'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(total_cal_consumed_snacks)
+function getLunchCalories() {
+ var total_cal_consumed_lunch = `SELECT SUM(i.cal) AS totalcal
+ FROM ingestions i
+ WHERE i.date = ? AND i.meal = 1`;
+
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_consumed_lunch, [logical_fields.application.date_utils.long_date]);
+ var totalCalLunch = 0;
for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).totalcal
- if(rsToQML == 0 || rsToQML == null){
- logical_fields.metrics.total_cal_snacks = 0
- } else{
- logical_fields.metrics.total_cal_snacks = rsToQML
- }
+ totalCalLunch = results.rows.item(i).totalcal;
}
- })
+ logical_fields.metrics.total_cal_lunch = totalCalLunch || 0;
+ });
}
+
- function getYesterdaySnacks(){
+ function getYesterdayLunch() {
filtered_meal_model.clear()
- var yesterday_snacks = 'SELECT id AS id, name AS name, nutriscore AS nutriscore, cal AS cal, fat AS fat, carbo AS carbo, protein AS protein \
- FROM ingestions i \
- WHERE i.date == "which_date" AND i.meal = 3'.replace("which_date", bottom_edge.yesterday_formated_date);
- var db = connectDB();
+ var yesterday_lunch = `SELECT id, name, nutriscore, cal, fat, carbo, protein
+ FROM ingestions
+ WHERE date = ? AND meal = 1`;
+
db.transaction(function (tx) {
- var results = tx.executeSql(yesterday_snacks)
+ var results = tx.executeSql(yesterday_lunch, [bottom_edge.yesterday_formated_date]);
for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
filtered_meal_model.append({
- "id" : results.rows.item(i).id,
- "name" : results.rows.item(i).name,
- "nutriscore" : results.rows.item(i).nutriscore,
- "cal" : results.rows.item(i).cal,
- "fat" : results.rows.item(i).fat,
- "carbo" : results.rows.item(i).carbo,
- "protein" : results.rows.item(i).protein
- })
+ "id" : item.id,
+ "name" : item.name,
+ "nutriscore" : item.nutriscore,
+ "cal" : item.cal,
+ "fat" : item.fat,
+ "carbo" : item.carbo,
+ "protein" : item.protein
+ });
}
- })
+ });
+ }
+
+
+
+function getDinnerCalories() {
+ var total_cal_consumed_dinner = `SELECT SUM(i.cal) AS totalcal
+ FROM ingestions i
+ WHERE i.date = ? AND i.meal = 2`;
+
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_consumed_dinner, [logical_fields.application.date_utils.long_date]);
+ var totalCalDinner = 0;
+ for (var i = 0; i < results.rows.length; i++) {
+ totalCalDinner = results.rows.item(i).totalcal;
}
+ logical_fields.metrics.total_cal_dinner = totalCalDinner || 0;
+ });
+}
+
- //get cups
- function getCups(){
- var water_cups = 'SELECT COUNT(cups) AS cups \
- FROM water_tracker \
- WHERE date == "which_date"'.replace("which_date", logical_fields.application.date_utils.long_date);
- var db = connectDB();
- var rsToQML
- db.transaction(function (tx) {
- var results = tx.executeSql(water_cups)
- for (var i = 0; i < results.rows.length; i++) {
- rsToQML = results.rows.item(i).cups
- if(rsToQML == 0 || rsToQML == null ){
- logical_fields.metrics.total_water_cups = 0
- } else{
- logical_fields.metrics.total_water_cups = rsToQML
- }
-
- }
-})
+function getYesterdayDinner() {
+ filtered_meal_model.clear();
+
+ var yesterday_dinner = `SELECT id, name, nutriscore, cal, fat, carbo, protein
+ FROM ingestions
+ WHERE date = ? AND meal = 2`;
+
+ db.transaction(function (tx) {
+ var results = tx.executeSql(yesterday_dinner, [bottom_edge.yesterday_formated_date]);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ filtered_meal_model.append({
+ "id": item.id,
+ "name": item.name,
+ "nutriscore": item.nutriscore,
+ "cal": item.cal,
+ "fat": item.fat,
+ "carbo": item.carbo,
+ "protein": item.protein
+ });
+ }
+ });
}
- var today_ingestions = 'SELECT i.id AS id, \
- i.date AS date, \
- i.name AS name, \
- i.cal AS cal \
- FROM ingestions i \
- WHERE i.date == date("now")';
-
- function getTodayIngestions(){
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(today_ingestions)
- for (var i = 0; i < results.rows.length; i++) {
- (function(){
- var j = i;
- all_today_ingestions.append({"id": results.rows.item(j).id,"cal": results.rows.item(j).cal, "name": results.rows.item(j).name, "date": results.rows.item(j).date})
- })()
- }
- })
- }
-function getCarboConsumed(){
- var total_carbo_consumed = 'SELECT SUM(carbo) as carbo \
- FROM ingestions i \
- JOIN user ON i.id_user = user.id \
- WHERE i.date == "which_date"'.replace("which_date",logical_fields.application.date_utils.long_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(total_carbo_consumed)
- for (var i = 0; i < results.rows.length; i++) {
- var rsToQML = results.rows.item(i).carbo
- if (rsToQML === null || rsToQML == 0.0){
- logical_fields.metrics.total_carbo_consumed = 0
- } else {
- logical_fields.metrics.total_carbo_consumed = rsToQML
- }
- }
- })
- }
- function getFatConsumed(){
- var total_fat_consumed = 'SELECT SUM(fat) as fat \
- FROM ingestions i \
- JOIN user ON i.id_user = user.id \
- WHERE i.date == "which_date"'.replace("which_date",logical_fields.application.date_utils.long_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(total_fat_consumed)
- for (var i = 0; i < results.rows.length; i++) {
- var rsToQML = results.rows.item(i).fat
- if (rsToQML === null || rsToQML == 0.0){
- logical_fields.metrics.total_fat_consumed = 0
- } else {
- logical_fields.metrics.total_fat_consumed = rsToQML
- }
- }
- })
- }
+function getSnacksCalories() {
+ var total_cal_consumed_snacks = `SELECT SUM(i.cal) AS totalcal
+ FROM ingestions i
+ WHERE i.date = ? AND i.meal = 3`;
- function getProteinConsumed(){
- var total_protein_consumed = 'SELECT SUM(protein) as protein \
- FROM ingestions i \
- JOIN user ON i.id_user = user.id \
- WHERE i.date == "which_date"'.replace("which_date",logical_fields.application.date_utils.long_date);
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(total_protein_consumed)
- for (var i = 0; i < results.rows.length; i++) {
- var rsToQML = results.rows.item(i).protein
- if (rsToQML === null || rsToQML == 0.0){
- logical_fields.metrics.total_protein_consumed = 0
- } else {
- logical_fields.metrics.total_protein_consumed = rsToQML
- }
- }
- })
- }
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_cal_consumed_snacks, [logical_fields.application.date_utils.long_date]);
+ var totalCalSnacks = 0;
+ for (var i = 0; i < results.rows.length; i++) {
+ totalCalSnacks = results.rows.item(i).totalcal;
+ }
+ logical_fields.metrics.total_cal_snacks = totalCalSnacks || 0;
+ });
+}
+
- var average_calories_month = 'SELECT strftime("%m", i.date) AS month,\
-AVG(i.cal) AS average \
-FROM ingestions i \
-WHERE strftime("%Y", i.date) == strftime("%Y", date()) \
-GROUP BY month \
-ORDER BY month DESC'
+function getYesterdaySnacks() {
+ filtered_meal_model.clear();
+ var yesterday_snacks = `SELECT id, name, nutriscore, cal, fat, carbo, protein
+ FROM ingestions
+ WHERE date = ? AND meal = 3`;
-function getAverageCalories(){
- var db = connectDB();
db.transaction(function (tx) {
- var results = tx.executeSql(average_calories_month)
- for (var i = 0; i < results.rows.length; i++) {
- (function(){
- var j = i;
- avg_month_calories.append({"month": results.rows.item(j).month, "average": results.rows.item(j).average})
- })()
+ var results = tx.executeSql(yesterday_snacks, [bottom_edge.yesterday_formated_date]);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ filtered_meal_model.append({
+ "id": item.id,
+ "name": item.name,
+ "nutriscore": item.nutriscore,
+ "cal": item.cal,
+ "fat": item.fat,
+ "carbo": item.carbo,
+ "protein": item.protein
+ });
}
- })
+ });
}
-function getAllFoodsMonth(month_requested){
+
+function getCups() {
+ var water_cups = `SELECT COUNT(cups) AS cups
+ FROM water_tracker
+ WHERE date = ?`;
- var month_ingestions = 'SELECT i.date AS date,\
- i.name AS name,\
- i.cal AS cal \
- FROM ingestions i \
- WHERE strftime("%m", date) == "which_month"'.replace("which_month", month_requested)
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(water_cups, [logical_fields.application.date_utils.long_date]);
+ var totalWaterCups = 0;
+ for (var i = 0; i < results.rows.length; i++) {
+ totalWaterCups = results.rows.item(i).cups;
+ }
+ logical_fields.metrics.total_water_cups = totalWaterCups || 0;
+ });
+}
+
+
+function getTodayIngestions() {
+ var today_ingestions = `SELECT i.id AS id, i.date AS date, i.name AS name, i.cal AS cal
+ FROM ingestions i
+ WHERE i.date = ?`;
+
+ db.transaction(function (tx) {
+ var results = tx.executeSql(today_ingestions, [date("now")]);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ all_today_ingestions.append({
+ "id": item.id,
+ "cal": item.cal,
+ "name": item.name,
+ "date": item.date
+ });
+ }
+ });
+}
+
+
+function getCarboConsumed() {
+ var total_carbo_consumed = `SELECT SUM(i.carbo) as carbo
+ FROM ingestions i, user u
+ WHERE i.id_user = u.id AND
+ i.date = ?`;
- var db = connectDB();
- db.transaction(function (tx) {
- var results = tx.executeSql(month_ingestions)
- for (var i = 0; i < results.rows.length; i++) {
- (function(){
- var j = i;
- all_month_ingestions.append({"date": results.rows.item(j).date,"name": results.rows.item(j).name, "cal": results.rows.item(j).cal})
- })()
- }
- })
- }
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_carbo_consumed, [logical_fields.application.date_utils.long_date]);
+ var totalCarboConsumed = results.rows.item(0).carbo || 0;
+ logical_fields.metrics.total_carbo_consumed = totalCarboConsumed;
+ });
+}
- function getNotes(){
- var all_notes = 'SELECT id AS id,note AS note, date AS date \
- FROM notes \
- ORDER BY id DESC'
-
- var db = connectDB();
- var rsToQML
-
- db.transaction(function (tx) {
- var results = tx.executeSql(all_notes)
- for (var i = 0; i < results.rows.length; i++) {
- notes_list_model.append({
- "id": results.rows.item(i).id,
- "note": results.rows.item(i).note,
- "date": results.rows.item(i).date})
- }
- })
- //return rsToQML
- }
+function getFatConsumed() {
+ var total_fat_consumed = `SELECT SUM(i.fat) as fat
+ FROM ingestions i, user u
+ WHERE i.id_user = u.id AND
+ i.date = ?`;
+
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_fat_consumed, [logical_fields.application.date_utils.long_date]);
+ var totalFatConsumed = results.rows.item(0).fat || 0;
+ logical_fields.metrics.total_fat_consumed = totalFatConsumed;
+ });
+}
+
+
+function getProteinConsumed() {
+ var total_protein_consumed = `SELECT SUM(i.protein) as protein
+ FROM ingestions i, user u
+ WHERE i.id_user = u.id AND
+ i.date = ?`;
+
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(total_protein_consumed, [logical_fields.application.date_utils.long_date]);
+ var totalProteinConsumed = results.rows.item(0).protein || 0;
+ logical_fields.metrics.total_protein_consumed = totalProteinConsumed;
+ });
+}
+
+
+function getAverageCalories() {
+ var average_calories_month = `SELECT strftime("%m", i.date) AS month, AVG(i.cal) AS average
+ FROM ingestions i
+ WHERE strftime("%Y", i.date) = ?
+ GROUP BY month
+ ORDER BY month DESC`;
+
+ var tx = db.transaction(function(tx) {
+ var currentYear = new Date().getFullYear().toString();
+ var results = tx.executeSql(average_calories_month, [currentYear]);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ avg_month_calories.append({
+ "month": item.month,
+ "average": item.average
+ });
+ }
+ });
+}
+
+
+function getAllFoodsMonth(month_requested) {
+ var month_ingestions = `SELECT i.date AS date, i.name AS name, i.cal AS cal
+ FROM ingestions i
+ WHERE strftime("%m", date) = ?`;
+
+ var tx = db.transaction(function(tx) {
+ var results = tx.executeSql(month_ingestions, [month_requested]);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ all_month_ingestions.append({
+ "date": item.date,
+ "name": item.name,
+ "cal": item.cal
+ });
+ }
+ });
+}
+
+
+function getNotes() {
+ var all_notes = 'SELECT id, note, date FROM notes ORDER BY id DESC';
+
+ db.transaction(function (tx) {
+ var results = tx.executeSql(all_notes);
+ for (var i = 0; i < results.rows.length; i++) {
+ var item = results.rows.item(i);
+ notes_list_model.append({
+ "id": item.id,
+ "note": item.note,
+ "date": item.date
+ });
+ }
+ });
+}
+
/*Charts*/
/*Axis: for Weight Tracker --start--*/
-function getYWeightTracker(date_from, date_to){
- var get_y_weight_table = 'SELECT weight FROM weight_tracker wt \
- WHERE date(wt.date) <= date("which_date_to") AND date(wt.date) >= date("which_date_from") \
- ORDER BY wt.date ASC'.replace("which_date_to", date_to).replace("which_date_from", date_from)
- var db = connectDB();
- var rs = "";
- db.transaction(function(tx) {
- rs = tx.executeSql(get_y_weight_table);
- });
+ function getYWeightTracker(date_from, date_to) {
+ var get_y_weight_table = `SELECT weight FROM weight_tracker wt
+ WHERE date(wt.date) <= date(?) AND date(wt.date) >= date(?)
+ ORDER BY wt.date ASC`;
- var weight_values = [];
- for(var i =0;i < rs.rows.length;i++) {
- weight_values.push(rs.rows.item(i).weight);
+ var tx = db.transaction(function(tx) {
+ var rs = tx.executeSql(get_y_weight_table, [date_to, date_from]);
+ return Array.from(rs.rows).map(function(row) {
+ return row.weight;
+ });
+ });
+
+ return tx;
}
- return weight_values;
-}
/*X axis: measurement dates*/
-function getXWeightTracker(date_from, date_to){
- var get_x_weight_table = 'SELECT date FROM weight_tracker wt \
- WHERE date(wt.date) <= date("which_date_to") AND date(wt.date) >= date("which_date_from") \
- ORDER BY wt.date ASC'.replace("which_date_to", date_to).replace("which_date_from", date_from)
- var db = connectDB();
+ function getXWeightTracker(date_from, date_to) {
+ var get_x_weight_table = `SELECT date
+ FROM weight_tracker wt
+ WHERE date(wt.date) <= date(?) AND date(wt.date) >= date(?)
+ ORDER BY wt.date ASC`;
- var rs = "";
- db.transaction(function(tx) {
- rs = tx.executeSql(get_x_weight_table);
- });
-
- /* build the array */
- var date_registered = [];
- for(var i =0;i < rs.rows.length;i++) {
- date_registered.push(rs.rows.item(i).date);
+ var tx = db.transaction(function(tx) {
+ var rs = tx.executeSql(get_x_weight_table, [date_to, date_from]);
+ return Array.from(rs.rows).map(function(row) {
+ return row.date;
+ });
+ });
+
+ return tx;
}
-return date_registered;
-}
+
/* Axis: for Weight Tracker --end--*/
//populate chartLine
@@ -474,24 +441,23 @@ return ChartLineData;
/*Axis: for Weight Tracker --start--*/
- function getYNutriscore(){
- var get_y_nutriscores_values = 'SELECT COUNT(nutriscore) AS nutriscore \
- FROM ingestions \
- GROUP BY nutriscore \
- ORDER BY 1 ASC'
- var db = connectDB();
- var rs = "";
- db.transaction(function(tx) {
- rs = tx.executeSql(get_y_nutriscores_values);
+ function getYNutriscore() {
+ var get_y_nutriscores_values = `SELECT COUNT(nutriscore) AS nutriscore
+ FROM ingestions
+ GROUP BY nutriscore
+ ORDER BY 1 ASC`;
+
+ var tx = db.transaction(function(tx) {
+ var rs = tx.executeSql(get_y_nutriscores_values);
+ return Array.from(rs.rows).map(function(row) {
+ return row.nutriscore;
+ });
});
-
- var nutriscore_count = [];
- for(var i =0;i < rs.rows.length;i++) {
- nutriscore_count.push(rs.rows.item(i).nutriscore);
- }
- return nutriscore_count;
+
+ return tx;
}
+
/* Axis: for Weight Tracker --end--*/
function getChartBarData(){
diff --git a/po/kaltracker.ivoxavier.pot b/po/kaltracker.ivoxavier.pot
index c76ddee..92b7f88 100644
--- a/po/kaltracker.ivoxavier.pot
+++ b/po/kaltracker.ivoxavier.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kaltracker.ivoxavier\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-07-10 09:28+0000\n"
+"POT-Creation-Date: 2023-07-10 15:16+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -441,11 +441,11 @@ msgstr ""
msgid "Product Macros"
msgstr ""
-#: ../qml/QuickAdditionPage.qml:65 ../qml/SetFoodPage.qml:87
+#: ../qml/QuickAdditionPage.qml:52 ../qml/SetFoodPage.qml:87
msgid "Stored!"
msgstr ""
-#: ../qml/QuickAdditionPage.qml:70 ../qml/SetFoodPage.qml:92
+#: ../qml/QuickAdditionPage.qml:57 ../qml/SetFoodPage.qml:92
msgid "Something went wrong. Please, restart the app and try again."
msgstr ""
diff --git a/qml/BodyMeasuresPage.qml b/qml/BodyMeasuresPage.qml
index 07575b1..60d6fc7 100644
--- a/qml/BodyMeasuresPage.qml
+++ b/qml/BodyMeasuresPage.qml
@@ -52,8 +52,8 @@ Page{
property int user_weight : UserTable.getWeight()
property string user_sex_at_birth : UserTable.getSexAtBirth()
property double user_bmi : BMI.getBmi(user_height, user_weight)
- property int user_ap_hi : UserTable.getApHi()
- property int user_ap_lo : UserTable.getApLo()
+ property var user_ap_hi : UserTable.getApHi()
+ property var user_ap_lo : UserTable.getApLo()
Component{
id: info_bmi
diff --git a/qml/QuickAdditionPage.qml b/qml/QuickAdditionPage.qml
index 077de6a..e3c8a20 100644
--- a/qml/QuickAdditionPage.qml
+++ b/qml/QuickAdditionPage.qml
@@ -45,19 +45,6 @@ Page{
}
BackgroundStyle{}
-
- //receives meal category from HomePage.slotAddMeal
- property int meal_quick_addition_page
-
- //food detail
- property string product_name_quick_addition_page
- property string nutriscore_quick_addition_page : "a"
-
- //macros for calculating nutriscore
- property int cal_quick_addition_page
- property double carbo_quick_addition_page : 0.0
- property double fat_quick_addition_page : 0.0
- property double protein_quick_addition_page : 0.0
Component{
diff --git a/qml/components/RowAbstractConfirmButton.qml b/qml/components/RowAbstractConfirmButton.qml
index 2bc8fb4..cb315aa 100644
--- a/qml/components/RowAbstractConfirmButton.qml
+++ b/qml/components/RowAbstractConfirmButton.qml
@@ -38,32 +38,31 @@ Row{
anchors.fill: parent
onClicked: {
try{
- if(UserFoodsListTable.isUnique(product_name_quick_addition_page) >= 1){
+ if(UserFoodsListTable.isUnique(logical_fields.ingestion.product_name) >= 1){
/* REGISTER INGESTION */
//item already on DB
- IngestionsTable.saveIngestion(product_name_quick_addition_page,
- nutriscore_quick_addition_page, cal_quick_addition_page,
- fat_quick_addition_page, carbo_quick_addition_page,
- protein_quick_addition_page, meal_quick_addition_page)
- root.initDB()
- PopupUtils.open(sucess_dialog)
+ IngestionsTable.saveIngestion(logical_fields.ingestion.product_name,
+ logical_fields.ingestion.nutriscore, logical_fields.ingestion.cal,
+ logical_fields.ingestion.fat, logical_fields.ingestion.carbo,
+ logical_fields.ingestion.protein, logical_fields.ingestion.meal_type)
+
} else{
/* CREATE NEW ENTRY */
//new item
- UserFoodsListTable.saveIngestion(product_name_quick_addition_page,
- nutriscore_quick_addition_page, cal_quick_addition_page,
- fat_quick_addition_page, carbo_quick_addition_page,
- protein_quick_addition_page)
- root.initDB()
+ UserFoodsListTable.saveIngestion(logical_fields.ingestion.product_name,
+ logical_fields.ingestion.nutriscore, logical_fields.ingestion.cal,
+ logical_fields.ingestion.fat, logical_fields.ingestion.carbo,
+ logical_fields.ingestion.protein)
/* REGISTER INGESTION */
- IngestionsTable.saveIngestion(product_name_quick_addition_page,
- nutriscore_quick_addition_page, cal_quick_addition_page,
- fat_quick_addition_page, carbo_quick_addition_page,
- protein_quick_addition_page, meal_quick_addition_page)
- root.initDB()
- PopupUtils.open(sucess_dialog)
+ IngestionsTable.saveIngestion(logical_fields.ingestion.product_name,
+ logical_fields.ingestion.nutriscore, logical_fields.ingestion.cal,
+ logical_fields.ingestion.fat, logical_fields.ingestion.carbo,
+ logical_fields.ingestion.protein, logical_fields.ingestion.meal_type)
}
+
+ root.initDB()
+ PopupUtils.open(sucess_dialog)
} catch (err){
PopupUtils.open(error_dialog)
}
diff --git a/qml/components/RowAbstractQuickAdditionButton.qml b/qml/components/RowAbstractQuickAdditionButton.qml
index a417f6a..e9c117b 100644
--- a/qml/components/RowAbstractQuickAdditionButton.qml
+++ b/qml/components/RowAbstractQuickAdditionButton.qml
@@ -35,7 +35,7 @@ Row{
icon_source: "../../assets/apple-fruit-svgrepo-com.svg"
MouseArea{
anchors.fill: parent
- onClicked: page_stack.push(quick_addition_page,{meal_quick_addition_page : meal_quick_list_foods_page})
+ onClicked: page_stack.push(quick_addition_page)
}
}
}
\ No newline at end of file
diff --git a/qml/logicalFields/LogicalFields.qml b/qml/logicalFields/LogicalFields.qml
index 3f81438..9741164 100644
--- a/qml/logicalFields/LogicalFields.qml
+++ b/qml/logicalFields/LogicalFields.qml
@@ -48,12 +48,12 @@ QtObject{
property QtObject ingestion : QtObject{
property string product_name
- property string nutriscore
+ property string nutriscore : "a"
property string nova_groups
property int cal
- property double carbo
- property double fat
- property double protein
+ property double carbo : 0.0
+ property double fat : 0.0
+ property double protein : 0.0
property int meal_type
property int quantity_portions : 1
property double size_portions : 1
diff --git a/qml/plugins/ProductMacros.qml b/qml/plugins/ProductMacros.qml
index 79b5779..218ccf6 100644
--- a/qml/plugins/ProductMacros.qml
+++ b/qml/plugins/ProductMacros.qml
@@ -35,24 +35,24 @@ GridLayout{
columns: 3
//first row
- Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter; text: fat_quick_addition_page; font.bold: true;color : app_style.label.labelColor }
- Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter;text: protein_quick_addition_page; font.bold: true;color : app_style.label.labelColor }
- Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter;text: carbo_quick_addition_page; font.bold: true;color : app_style.label.labelColor }
+ Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter; text: logical_fields.ingestion.fat; font.bold: true;color : app_style.label.labelColor }
+ Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter;text: logical_fields.ingestion.protein; font.bold: true;color : app_style.label.labelColor }
+ Text {Layout.alignment: Qt.AlignTop | Qt.AlignHCenter;text: logical_fields.ingestion.carbo; font.bold: true;color : app_style.label.labelColor }
//second row
NutrientSlider{
Layout.alignment: Qt.AlignCenter | Qt.AlignHCenter
- onValueChanged: fat_quick_addition_page = Number(value.toFixed(1))
+ onValueChanged: logical_fields.ingestion.fat = Number(value.toFixed(1))
}
NutrientSlider{
Layout.alignment: Qt.AlignCenter | Qt.AlignHCenter
- onValueChanged : protein_quick_addition_page = Number(value.toFixed(1))
+ onValueChanged : logical_fields.ingestion.protein = Number(value.toFixed(1))
}
NutrientSlider{
Layout.alignment: Qt.AlignCenter | Qt.AlignHCenter
- onValueChanged : carbo_quick_addition_page = Number(value.toFixed(1))
+ onValueChanged : logical_fields.ingestion.carbo = Number(value.toFixed(1))
}
//third row
diff --git a/qml/plugins/ProductNameCalories.qml b/qml/plugins/ProductNameCalories.qml
index 51c5aa3..c918958 100644
--- a/qml/plugins/ProductNameCalories.qml
+++ b/qml/plugins/ProductNameCalories.qml
@@ -54,7 +54,7 @@ ColumnLayout{
horizontalAlignment: TextInput.AlignHCenter
verticalAlignment: TextInput.AlignVCenter
color : app_style.label.labelColor
- onTextChanged: product_name_quick_addition_page = text
+ onTextChanged: logical_fields.ingestion.product_name = text
}
}
@@ -83,7 +83,7 @@ ColumnLayout{
inputMethodHints: Qt.ImhDigitsOnly
color : app_style.label.labelColor
onEditingFinished:{
- cal_quick_addition_page = text
+ logical_fields.ingestion.cal = text
}
}
}
@@ -107,7 +107,7 @@ ColumnLayout{
i18n.tr("E: Bad Nutritional Quality")]
selectedIndex: -1
onSelectedIndexChanged: {
- nutriscore_quick_addition_page = selectedIndex == 0 ?
+ logical_fields.ingestion.nutriscore = selectedIndex == 0 ?
"a" : selectedIndex == 1 ?
"b" : selectedIndex == 2 ?
"c" : selectedIndex == 3 ?