Wed, 05 Jun 2019 20:04:26 +0200
Merged with default branch
/***************************************************************************** * Copyright (C) 2018-2019 * * Michiel Broek <mbroek at mbse dot eu> * * 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 source = { datatype: "json", cache: false, datafields: [ { name: 'record', type: 'number' }, { name: 'name', type: 'string' }, { name: 'code', type: 'string' }, { name: 'birth', type: 'string' }, { name: 'stage', type: 'int' }, { name: 'brew_date', type: 'string' }, { name: 'package_date', type: 'string' }, ], id: 'record', url: "includes/db_product.php?select=inprod" }; var dataAdapter = new $.jqx.dataAdapter(source); // initialize jqxGrid $("#jqxgrid").jqxGrid({ width: 1280, height: 630, source: dataAdapter, theme: theme, showstatusbar: true, renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var 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;'>Add</span></div>"); container.append(addButton); statusbar.append(container); addButton.jqxButton({ theme: theme, width: 90, height: 20 }); // add new recipe. addButton.click(function (event) { var url= "prod_new.php?return=prod_inprod.php"; window.location.href = url; }); }, columns: [ { text: 'Datum', datafield: 'birth', width: 120 }, { text: 'Code', datafield: 'code', width: 120 }, { text: 'Naam', datafield: 'name' }, { text: 'Fase', datafield: 'stage', width: 200, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { // 2 = brew, 6 = package, 7 = carbonation, 8 = mature, 9 = taste var fase = StageData[value].nl; if (value == 2) { fase = StageData[value].nl + " op " + rowdata.brew_date; } if (value == 7 || value == 8) { var d = new Date(); var date2 = rowdata.package_date; date2 = date2.split('-'); // Now we convert the array to a Date object date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate()); date2 = new Date(date2[0], date2[1]-1, date2[2]); // We use the getTime() method and get the unixtime date1_unixtime = parseInt(date1.getTime() / 1000); date2_unixtime = parseInt(date2.getTime() / 1000); // This is the calculated difference in seconds var timeDifference = date1_unixtime - date2_unixtime; // Round the result for brews that overlap summer/wintertime changes. var timeDifferenceInDays = Math.round(timeDifference / 60 / 60 / 24); if (timeDifferenceInDays >= 14) fase = StageData[value].nl + " dag " + (timeDifferenceInDays - 14) + " van 28"; else fase = StageData[value].nl + " dag " + timeDifferenceInDays + " van 14"; } return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + fase + "</span>"; } }, { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { var datarecord = dataAdapter.records[row]; var url= "prod_edit.php?record=" + datarecord.record + "&select=inprod&return=prod_inprod.php"; window.location.href = url; } } ], }); });