Fri, 25 Oct 2019 10:12:24 +0200
prod_forum handles split batches.
/***************************************************************************** * Copyright (C) 2014-2019 * * Michiel Broek <mbroek at mbse dot eu> * * This file is part of BrewCloud * * 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. *****************************************************************************/ function createDelElements() { $('#eventWindow').jqxWindow({ theme: theme, position: { x: 490, y: 210 }, width: 300, height: 175, resizable: false, isModal: true, modalOpacity: 0.4, okButton: $('#delOk'), cancelButton: $('#delCancel'), initContent: function() { $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme }); $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme }); $('#delCancel').focus(); } }); $('#eventWindow').jqxWindow('hide'); } $(document).ready(function() { var dataRecord = {}, url = 'includes/db_profile_styles.php', source = { datatype: 'json', cache: false, datafields: [ { name: 'record', type: 'number' }, { name: 'name', type: 'string' }, { name: 'category', type: 'string' }, { name: 'category_number', type: 'number' }, { name: 'style_letter', type: 'string' }, { name: 'style_guide', type: 'string' }, { name: 'type', type: 'int' }, { name: 'og_min', type: 'float' }, { name: 'og_max', type: 'float' }, { name: 'fg_min', type: 'float' }, { name: 'fg_max', type: 'float' }, { name: 'ibu_min', type: 'float' }, { name: 'ibu_max', type: 'float' }, { name: 'color_min', type: 'float' }, { name: 'color_max', type: 'float' }, { name: 'carb_min', type: 'float' }, { name: 'carb_max', type: 'float' }, { name: 'abv_min', type: 'float' }, { name: 'abv_max', type: 'float' }, { name: 'notes', type: 'string' }, { name: 'profile', type: 'string' }, { name: 'ingredients', type: 'string' }, { name: 'examples', type: 'string' } ], id: 'record', url: url, deleterow: function(rowid, commit) { // synchronize with the server - send delete command var data = 'delete=true&' + $.param({ record: rowid }); $.ajax({ dataType: 'json', url: url, cache: false, data: data, type: 'POST', success: function(data, status, xhr) { commit(true); location.reload(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); }, addrow: function(rowid, rowdata, position, commit) { var data = 'insert=true&' + $.param(rowdata); $.ajax({ dataType: 'json', url: url, cache: false, data: data, type: 'POST', success: function(data, status, xhr) { commit(true); location.reload(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); }, updaterow: function(rowid, rowdata, commit) { var data = 'update=true&' + $.param(rowdata); $.ajax({ dataType: 'json', url: url, cache: false, data: data, type: 'POST', success: function(data, status, xhr) { commit(true); location.reload(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); } }, dataAdapter = new $.jqx.dataAdapter(source), editrow = -1; // initialize the input fields. $('#name').jqxInput({ theme: theme, width: 320, height: 23 }); $('#category').jqxInput({ theme: theme, width: 320, height: 23 }); $('#category_number').jqxNumberInput(PosInt); $('#style_letter').jqxInput({ theme: theme, width: 250, height: 23 }); $('#style_guide').jqxInput({ theme: theme, width: 320, height: 23 }); $('#type').jqxDropDownList({ theme: theme, source: StyleTypeAdapter, valueMember: 'id', displayMember: 'nl', width: 180, height: 23, autoDropDownHeight: true }); $('#og_min').jqxNumberInput(SGopts); $('#og_max').jqxNumberInput(SGopts); $('#fg_min').jqxNumberInput(SGopts); $('#fg_max').jqxNumberInput(SGopts); $('#ibu_min').jqxNumberInput(PosInt); $('#ibu_min').jqxNumberInput({ max: 200 }); $('#ibu_max').jqxNumberInput(PosInt); $('#ibu_max').jqxNumberInput({ max: 200 }); $('#color_min').jqxNumberInput(PosInt); $('#color_min').jqxNumberInput({ max: 200 }); $('#color_max').jqxNumberInput(PosInt); $('#color_max').jqxNumberInput({ max: 200 }); $('#carb_min').jqxNumberInput(Spin1dec); $('#carb_min').jqxNumberInput({ max: 5 }); $('#carb_max').jqxNumberInput(Spin1dec); $('#carb_max').jqxNumberInput({ max: 5 }); $('#abv_min').jqxNumberInput(Spin1dec); $('#abv_min').jqxNumberInput({ max: 20 }); $('#abv_max').jqxNumberInput(Spin1dec); $('#abv_max').jqxNumberInput({ max: 20 }); $('#notes').jqxInput({ theme: theme, width: 800, height: 100 }); $('#profile').jqxInput({ theme: theme, width: 800, height: 48 }); $('#ingredients').jqxInput({ theme: theme, width: 800, height: 23 }); $('#examples').jqxInput({ theme: theme, width: 800, height: 48 }); // initialize jqxGrid $('#jqxgrid').jqxGrid({ width: 1280, height: 630, source: dataAdapter, theme: theme, showstatusbar: true, renderstatusbar: function(statusbar) { var container, addButton, impButton; container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>'); addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' + 'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>'); impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' + 'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>'); container.append(addButton); container.append(impButton); statusbar.append(container); addButton.jqxButton({ theme: theme, width: 90, height: 20 }); impButton.jqxButton({ theme: theme, width: 90, height: 20 }); // add new row. addButton.click(function(event) { editrow = -1; $('#name').val('Nieuwe stijl'); $('#category').val(''); $('#category_number').val(''); $('#style_letter').val(''); $('#style_guide').val('BKG 2015'); $('#type').val(0); $('#og_min').val(1.030); $('#og_max').val(1.050); $('#fg_min').val(1.005); $('#fg_max').val(1.010); $('#ibu_min').val(20); $('#ibu_max').val(30); $('#color_min').val(52); $('#color_max').val(79); $('#carb_min').val(2.0); $('#carb_max').val(2.5); $('#abv_min').val(4.0); $('#abv_max').val(5.0); $('#notes').val(''); $('#profile').val(''); $('#ingredients').val(''); $('#examples').val(''); $('#popupWindow').jqxWindow('open'); }); impButton.click(function(event) { window.location.href = 'import_ingredients.php?select=styles'; }); }, filterable: true, filtermode: 'excel', columns: [ { text: 'Gids', datafield: 'style_guide', width: 100 }, { text: 'Groep', datafield: 'style_letter', width: 30 }, { text: 'Style Name', menu: false, datafield: 'name' }, { text: 'OG', menu: false, datafield: 'og_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, { text: 'OG', menu: false, datafield: 'og_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, { text: 'FG', menu: false, datafield: 'fg_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, { text: 'FG', menu: false, datafield: 'fg_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, { text: 'IBU', menu: false, datafield: 'ibu_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'IBU', menu: false, datafield: 'ibu_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'EBC', menu: false, datafield: 'color_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'EBC', menu: false, datafield: 'color_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'Co2', menu: false, datafield: 'carb_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Co2', menu: false, datafield: 'carb_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'ABV', menu: false, datafield: 'abv_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'ABV', menu: false, datafield: 'abv_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: '', menu: false, datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() { return 'Wijzig'; }, buttonclick: function(row) { // open the popup window when the user clicks a button. editrow = row; // get the clicked row's data and initialize the input fields. dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow); $('#name').val(dataRecord.name); $('#category').val(dataRecord.category); $('#category_number').val(dataRecord.category_number); $('#style_letter').val(dataRecord.style_letter); $('#style_guide').val(dataRecord.style_guide); $('#type').val(dataRecord.type); $('#og_min').val(dataRecord.og_min); $('#og_max').val(dataRecord.og_max); $('#fg_min').val(dataRecord.fg_min); $('#fg_max').val(dataRecord.fg_max); $('#ibu_min').val(dataRecord.ibu_min); $('#ibu_max').val(dataRecord.ibu_max); $('#color_min').val(dataRecord.color_min); $('#color_max').val(dataRecord.color_max); $('#carb_min').val(dataRecord.carb_min); $('#carb_max').val(dataRecord.carb_max); $('#abv_min').val(dataRecord.abv_min); $('#abv_max').val(dataRecord.abv_max); $('#notes').val(dataRecord.notes); $('#profile').val(dataRecord.profile); $('#ingredients').val(dataRecord.ingredients); $('#examples').val(dataRecord.examples); // show the popup window. $('#popupWindow').jqxWindow('open'); } } ] }); // initialize the popup window and buttons. $('#popupWindow').jqxWindow({ width: 1050, position: { x: 110, y: 30 }, resizable: false, theme: theme, isModal: true, autoOpen: false, cancelButton: $('#Cancel'), modalOpacity: 0.40 }); $('#popupWindow').on('open', function() { $('#name').jqxInput('selectAll'); }); $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme }); $('#Delete').click(function() { if (editrow >= 0) { // Open a popup to confirm this action. $('#eventWindow').jqxWindow('open'); $('#delOk').click(function() { var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); $('#jqxgrid').jqxGrid('deleterow', rowID); }); } $('#popupWindow').jqxWindow('hide'); }); $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme }); $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme }); // update the edited row when the user clicks the 'Save' button. $('#Save').click(function() { var row, rowID = -1; if (editrow >= 0) { rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); } row = { record: rowID, name: $('#name').val(), category: $('#category').val(), category_number: parseFloat($('#category_number').jqxNumberInput('decimal')), style_letter: $('#style_letter').val(), style_guide: $('#style_guide').val(), type: $('#type').val(), og_min: parseFloat($('#og_min').jqxNumberInput('decimal')), og_max: parseFloat($('#og_max').jqxNumberInput('decimal')), fg_min: parseFloat($('#fg_min').jqxNumberInput('decimal')), fg_max: parseFloat($('#fg_max').jqxNumberInput('decimal')), ibu_min: parseFloat($('#ibu_min').jqxNumberInput('decimal')), ibu_max: parseFloat($('#ibu_max').jqxNumberInput('decimal')), color_min: parseFloat($('#color_min').jqxNumberInput('decimal')), color_max: parseFloat($('#color_max').jqxNumberInput('decimal')), carb_min: parseFloat($('#carb_min').jqxNumberInput('decimal')), carb_max: parseFloat($('#carb_max').jqxNumberInput('decimal')), abv_min: parseFloat($('#abv_min').jqxNumberInput('decimal')), abv_max: parseFloat($('#abv_max').jqxNumberInput('decimal')), notes: $('#notes').val(), profile: $('#profile').val(), ingredients: $('#ingredients').val(), examples: $('#examples').val() }; if (editrow >= 0) { $('#jqxgrid').jqxGrid('updaterow', rowID, row); } else { $('#jqxgrid').jqxGrid('addrow', null, row); } $('#popupWindow').jqxWindow('hide'); }); createDelElements(); });