diff -r 4e3409cfd2b1 -r d286bf289d45 www/js/rec_new.js --- a/www/js/rec_new.js Thu Aug 04 20:13:41 2022 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,345 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2018-2020 - * - * Michiel Broek - * - * This file is part of BMS - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2, or (at your option) any - * later version. - * - * BrewCloud is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ThermFerm; see the file COPYING. If not, write to the Free - * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *****************************************************************************/ - - -$(document).ready(function() { - - var recipe_type = 2, - style_type = 0, - - //Creating wizard module - wizard = (function() { - - //Adding event listeners - var _addHandlers = function() { - $('#name').on('change', function(event) { wizard.validate(true); }); - $('#type').on('change', function(event) { wizard.validate(true); }); - $('#boil_time').on('change', function(event) { wizard.validate(true); }); - $('#est_og').on('change', function(event) { wizard.validate(true); }); - $('#efficiency').on('change', function(event) { wizard.validate(true); }); - $('#styleSelect').on('change', function(event) { wizard.validate(true); }); - $('#nextButtonCompleted').click(function() { - console.log('insert start'); - var newrow = { - record: -1, - locked: 0, - name: $('#name').val(), - notes: $('#notes').val(), - st_name: $('#st_name').val(), - st_letter: $('#st_style_letter').val(), - st_guide: $('#st_style_guide').val(), - st_category: $('#st_category').val(), - st_category_number: $('#st_category_number').val(), - st_type: style_type, - st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')), - st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')), - st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')), - st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')), - st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')), - st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')), - st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')), - st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')), - st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')), - st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')), - st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')), - st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')), - type: recipe_type, - batch_size: 20.0, - boil_size: 22.0, - boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')), - efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal')), - est_og: parseFloat($('#est_og').jqxNumberInput('decimal')), - est_fg: 1.000, - est_color: 0, - est_abv: 0.0, - est_carb: 0.0, - color_method: 0, // Morey - est_ibu: 0, - ibu_method: 0, // Tinseth - mash_name: '', - mash_ph: 5.4, - sparge_temp: 85.0, - sparge_volume: 12.0, - sparge_ph: 5.8, - sparge_source: 0, // Source 1 - sparge_acid_type: 0, // Lactic acid - sparge_acid_perc: 80, - sparge_acid_amount: 0, - calc_acid: 1, - w1_name: 'Tap water', - w1_amount: 15, - w1_calcium: 0, - w1_sulfate: 0, - w1_chloride: 0, - w1_sodium: 0, - w1_magnesium: 0, - w1_total_alkalinity: 0, - w1_ph: 7.0, - w1_cost: 0.0, - wg_amount: 15, - wg_calcium: 0, - wg_sulfate: 0, - wg_chloride: 0, - wg_sodium: 0, - wg_magnesium: 0, - wg_total_alkalinity: 0, - wg_ph: 7.0, - wb_calcium: 0, - wb_sulfate: 0, - wb_sodium: 0, - wb_chloride: 0, - wb_magnesium: 0, - wb_total_alkalinity: 0, - wb_ph: 0, - wa_acid_name: 0, // Lactic acid - wa_acid_perc: 80, - wa_base_name: 0 - }, - data = 'insert=true&return=' + my_return + '&' + $.param(newrow); - $.ajax({ - dataType: 'json', - url: 'includes/db_recipes.php', - cache: false, - data: data, - type: 'POST', - success: function(data, status, xhr) { - // update command is executed. - window.location.href = my_return; - }, - error: function(jqXHR, textStatus, errorThrown) { - } - }); - }); - $('.nextButton').click(function() { - wizard.validate(true); - $('#jqxTabs').jqxTabs('next'); - }); - $('.backButton').click(function() { - wizard.validate(true); - $('#jqxTabs').jqxTabs('previous'); - }); - }; - - return { - //Initializing the wizzard - creating all elements, adding event handlers and starting the validation - init: function() { - $('#jqxTabs').jqxTabs({ - theme: theme, - height: 630, - width: 1280, - autoHeight: false, - position: 'top', - keyboardNavigation: false - }); - $('#nextButtonBase').jqxButton({ theme: theme, width: 150 }); - $('#nextButtonStyle').jqxButton({ theme: theme, width: 150}); - $('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150}); - $('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150}); - $('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150}); - _addHandlers(); - this.validate(); - this.showHint('Vul de nodige gegevens in.'); - }, - - //Validating all wizard tabs - validate: function(notify) { - if (!this.firstTab(notify)) { - $('#jqxTabs').jqxTabs('disableAt', 1); - $('#jqxTabs').jqxTabs('disableAt', 2); - return; - } else { - $('#jqxTabs').jqxTabs('enableAt', 1); - } - if (!this.secondTab(notify)) { - $('#jqxTabs').jqxTabs('disableAt', 2); - return; - } else { - $('#jqxTabs').jqxTabs('enableAt', 2); - } - }, - - //Displaying message to the user - showHint: function(message, selector) { - if (typeof selector === 'undefined') { - selector = '.hint'; - } - if (message === '') { - message = 'Ok, je mag doorgaan.'; - } - $(selector).html('' + message + ''); - }, - - //Validating the first tab - firstTab: function(notify) { - var name = $('#name').val(), - type = $('#type').val(), - boil_time = parseFloat($('#boil_time').jqxNumberInput('decimal')), - est_og = parseFloat($('#est_og').jqxNumberInput('decimal')), - efficiency = parseFloat($('#efficiency').jqxNumberInput('decimal')), - message = ''; - if (name.length < 3) { - message += 'Je moet een recept naam invullen.
'; - } - // Check if name already exists. - if (type.length < 1) { - message += 'Je moet een brouw type kiezen.
'; - } - if ((boil_time < 4) || (boil_time > 360)) { - message += 'De kooktijd moet tussen 4 en 360 minuten zijn.
'; - } - if ((est_og < 1.010) || (est_og > 1.200)) { - message += 'Het OG moet tussen 1.010 en 1.200 zijn.
'; - } - if ((efficiency < 35) || (efficiency > 95)) { - message += 'Het brouwzaal rendement moet tussen 35 en 95 zijn.
'; - } - if (message !== '') { - if (notify) { - this.showHint(message, '#hintBase'); - } - return false; - } - this.showHint('Ok, je mag doorgaan.', '#hintBase'); - $('#nextButtonBase').jqxButton({ template: 'success' }); - return true; - }, - - //Validating the second tab - secondTab: function(notify) { - var stylesel = $('#styleSelect').val(), - message = ''; - if (stylesel.length < 3) { - message += 'Je moet een bierstijl kiezen.
'; - } - if (message !== '') { - if (notify) { - this.showHint(message, '#hintStyle'); - } - return false; - } - this.showHint('Ok, je mag doorgaan.', '#hintStyle'); - $('#nextButtonStyle').jqxButton({ template: 'success' }); - return true; - } - }; - } ()); - - // Tab 1, Base - $('#name').jqxTooltip({ content: 'De naam voor dit recept.' }); - $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); - $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit recept.' }); - $('#notes').jqxInput({ theme: theme, width: 960, height: 200 }); - $('#type').jqxDropDownList({ - theme: theme, - source: RecipeTypeAdapter, - valueMember: 'id', - displayMember: 'nl', - width: 180, - height: 23, - autoDropDownHeight: true - }); - $('#type').jqxDropDownList('selectItem', 2); - $('#type').on('select', function(event) { - if (event.args) { - recipe_type = event.args.index; - } - }); - $('#boil_time').jqxNumberInput(PosInt); - $('#boil_time').jqxNumberInput({ min: 4, max: 360 }); - $('#efficiency').jqxNumberInput(Perc0); - $('#est_og').jqxNumberInput(SGopts); - // Default values. - $('#boil_time').val(90); - $('#efficiency').val(75); - $('#est_og').val(1.052); - - // Tab 2, Style - $('#st_name').jqxInput({ theme: theme, width: 250, height: 23 }); - $('#st_category').jqxInput({ theme: theme, width: 250, height: 23 }); - $('#st_category_number').jqxInput({ theme: theme, width: 70, height: 23 }); - $('#st_style_letter').jqxInput({ theme: theme, width: 250, height: 23 }); - $('#st_style_guide').jqxInput({ theme: theme, width: 250, height: 23 }); - $('#st_notes').jqxInput({ theme: theme, width: 800, height: 100 }); - $('#st_type').jqxInput({ theme: theme, width: 250, height: 23 }); - $('#st_og_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); - $('#st_og_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); - $('#st_fg_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); - $('#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); - $('#st_ibu_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true }); - $('#st_ibu_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true }); - $('#st_color_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true }); - $('#st_color_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true }); - $('#st_carb_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); - $('#st_carb_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); - $('#st_abv_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); - $('#st_abv_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); - $('#st_profile').jqxInput({ theme: theme, width: 800, height: 48 }); - $('#st_ingredients').jqxInput({ theme: theme, width: 800, height: 23 }); - $('#st_examples').jqxInput({ theme: theme, width: 800, height: 48 }); - $('#styleSelect').jqxDropDownList({ - placeHolder: 'Kies bierstijl:', - theme: theme, - source: styleslist, - displayMember: 'name', - width: 250, - height: 27, - dropDownWidth: 500, - dropDownHeight: 500, - renderer: function(index, label, value) { - var datarecord = styleslist.records[index]; - return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name; - } - }); - $('#styleSelect').on('select', function(event) { - if (event.args) { - var datarecord, index = event.args.index; - datarecord = styleslist.records[index]; - $('#st_name').val(datarecord.name); - $('#st_category').val(datarecord.category); - $('#st_category_number').val(datarecord.category_number); - $('#st_style_letter').val(datarecord.style_letter); - $('#st_style_guide').val(datarecord.style_guide); - style_type = datarecord.type; - $('#st_type').val(StyleTypeData[datarecord.type].nl); - $('#st_og_min').val(datarecord.og_min); - $('#st_og_max').val(datarecord.og_max); - $('#st_fg_min').val(datarecord.fg_min); - $('#st_fg_max').val(datarecord.fg_max); - $('#st_ibu_min').val(datarecord.ibu_min); - $('#st_ibu_max').val(datarecord.ibu_max); - $('#st_color_min').val(datarecord.color_min); - $('#st_color_max').val(datarecord.color_max); - $('#st_carb_min').val(datarecord.carb_min); - $('#st_carb_max').val(datarecord.carb_max); - $('#st_abv_min').val(datarecord.abv_min); - $('#st_abv_max').val(datarecord.abv_max); - $('#st_notes').val(datarecord.notes); - $('#st_profile').val(datarecord.profile); - $('#st_ingredients').val(datarecord.ingredients); - $('#st_examples').val(datarecord.examples); - } - }); - - //Initializing the wizard - wizard.init(); -}); -