www/js/profile_mash.js

changeset 796
6ce2c2e6796e
parent 795
9472106a3143
child 797
d0fedeb32f05
--- a/www/js/profile_mash.js	Mon Jul 11 15:46:18 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-/*****************************************************************************
- * Copyright (C) 2014-2022
- *
- * Michiel Broek <mbroek at mbse dot eu>
- *
- * This file is part of Brewery Management System
- *
- * 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() {
-
- // tooltips
- $('#name').jqxTooltip({ content: 'De naam voor dit maisch profiel.' });
- $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit maisch profiel.' });
-
- var steprow = 0,
- stepData = {},
- dataRecord = {},
- url = 'includes/db_profile_mash.php',
- source = {
-  datatype: 'json',
-  cache: false,
-  datafields: [
-   { name: 'record', type: 'number' },
-   { name: 'name', type: 'string' },
-   { name: 'notes', type: 'string' },
-   { name: 'steps', type: 'array' },
-   { name: 'uuid', type: 'string' }
-  ],
-  id: 'record',
-  url: url,
-  deleterow: function(rowid, commit) {
-   var data = 'delete=true&' + $.param({ record: rowid });
-   $.ajax({
-    dataType: 'json',
-    url: url,
-    cache: false,
-    data: data,
-    type: 'POST',
-    success: function(data) {
-     if (data.error) {
-      console.log('delete: ' + data.msg);
-      alert('Fout: ' + data.msg);
-     } else {
-      console.log('delete: success');
-     }
-     location.reload(true);
-    },
-    error: function(jqXHR, textStatus, errorThrown) {
-     commit(false);
-     console.log('mash deleterow ' + textStatus);
-    }
-   });
-  },
-  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) {
-     if (data.error) {
-      console.log('insert: ' + data.msg);
-      alert('Fout: ' + data.msg);
-     } else {
-      console.log('insert: success');
-     }
-     location.reload(true);
-    },
-    error: function(jqXHR, textStatus, errorThrown) {
-     commit(false);
-     console.log('mash addrow ' + textStatus);
-    }
-   });
-  },
-  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) {
-     if (data.error) {
-      console.log('updaterow: ' + data.msg);
-      alert('Fout: ' + data.msg);
-     } else {
-      console.log('updaterow: success');
-     }
-     location.reload(true);
-    },
-    error: function(jqXHR, textStatus, errorThrown) {
-     commit(false);
-     console.log('mash updaterow ' + textStatus);
-    }
-   });
-  }
- },
- dataAdapter = new $.jqx.dataAdapter(source),
- editrow = -1,
-
- // Inline steps editor
- editsteps = function(data) {
-  var stepSource = {
-   localdata: data.steps,
-   datatype: 'local',
-   datafields: [
-    { name: 'step_name', type: 'string' },
-    { name: 'step_type', type: 'int' },
-    { name: 'step_temp', type: 'float' },
-    { name: 'step_time', type: 'float' },
-    { name: 'ramp_time', type: 'float' },
-    { name: 'end_temp', type: 'float' }
-   ],
-   addrow: function(rowid, rowdata, position, commit) { commit(true); },
-   deleterow: function(rowid, commit) { commit(true); }
-  },
-  stepAdapter = new $.jqx.dataAdapter(stepSource);
-
-  $('#grid').jqxGrid({
-   width: 1020,
-   height: 330,
-   source: stepAdapter,
-   theme: theme,
-   selectionmode: 'singlerow',
-   showtoolbar: true,
-   rendertoolbar: function(toolbar) {
-    var container = $('<div style="margin: 5px;"></div>');
-    toolbar.append(container);
-    container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
-    container.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
-    $('#addrowbutton').jqxButton({ template: 'primary', theme: theme, width: 150 });
-    $('#deleterowbutton').jqxButton({ template: 'danger', theme: theme, width: 150 });
-    // create new row.
-    $('#addrowbutton').on('click', function() {
-     var row = {}, rowscount = $('#grid').jqxGrid('getdatainformation').rowscount;
-     var temp = $('#grid').jqxGrid('getcell', rowscount -1, 'step_temp');
-     row['step_name'] = 'Stap ' + (rowscount + 1);
-     if (rowscount > 0) {
-      row['step_type'] = 1;
-      row['step_temp'] = row['end_temp'] = temp.value + 2;
-     } else {
-      row['step_type'] = 0;
-      row['step_temp'] = row['end_temp'] = 62.0;
-     }
-     row['step_time'] = 20.0;
-     row['ramp_time'] = 1.0;
-     $('#grid').jqxGrid('addrow', null, row);
-    });
-    // delete row.
-    $('#deleterowbutton').on('click', function() {
-     var rowscount, id, selectedrowindex = $('#grid').jqxGrid('getselectedrowindex');
-     rowscount = $('#grid').jqxGrid('getdatainformation').rowscount;
-     if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
-      id = $('#grid').jqxGrid('getrowid', selectedrowindex);
-      $('#grid').jqxGrid('deleterow', id);
-     }
-    });
-   },
-   columns: [
-    { text: 'Stap naam', datafield: 'step_name' },
-    { text: 'Stap type', datafield: 'step_type', width: 150,
-      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
-       return '<span style="margin: 4px; margin-top: 6px; float: left;">' + MashStepTypeData[value].nl + '</span>';
-      }
-    },
-    { text: 'Start &deg;C', datafield: 'step_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-    { text: 'Eind &deg;C', datafield: 'end_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-    { text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' },
-    { text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' },
-    { text: '', columntype: 'button', width: 15, align: 'center',
-     cellsrenderer: function(row) {
-      if (row < 2)
-       return ' ';
-      return '▴';
-     }, buttonclick: function(row) {
-      if (row >= 2) {
-       swapMash(row, row-1);
-      }
-     }
-    },
-    { text: '', columntype: 'button', width: 15, align: 'center',
-     cellsrenderer: function(row) {
-      rowscount = $('#grid').jqxGrid('getdatainformation').rowscount;
-      if (row < 1 || row > (rowscount -2))
-       return ' ';
-      return '▾';
-     }, buttonclick: function(row) {
-      rowscount = $('#grid').jqxGrid('getdatainformation').rowscount;
-      if (row >= 1 && row <= (rowscount -2)) {
-       swapMash(row, row+1);
-      }
-     }
-    },
-    { text: '', datafield: 'Edit', columntype: 'button', width: 80, align: 'center',
-     cellsrenderer: function() {
-      return 'Wijzig';
-     }, buttonclick: function(row) {
-      steprow = row;
-      stepData = $('#grid').jqxGrid('getrowdata', steprow);
-      $('#m_step_name').val(stepData.step_name);
-      $('#m_step_type').val(stepData.step_type);
-      $('#m_step_temp').val(stepData.step_temp);
-      $('#m_end_temp').val(stepData.end_temp);
-      $('#m_step_time').val(stepData.step_time);
-      $('#m_ramp_time').val(stepData.ramp_time);
-      // show the popup window.
-      $('#popupStep').jqxWindow('open');
-     }
-    }
-   ]
-  });
- };
-
- // Initialize the input fields.
- $('#m_step_name').jqxInput({ theme: theme, width: 320, height: 23 });
- $('#m_step_type').jqxDropDownList({
-  theme: theme,
-  source: MashStepTypeAdapter,
-  valueMember: 'id',
-  displayMember: 'nl',
-  width: 180,
-  height: 23,
-  autoDropDownHeight: true
- });
- $('#m_step_temp').jqxNumberInput(Spin1dec);
- $('#m_step_temp').jqxNumberInput({ Min: 30, Max: 80 });
- $('#m_end_temp').jqxNumberInput(Spin1dec);
- $('#m_end_temp').jqxNumberInput({ Min: 30, Max: 80 });
- $('#m_step_time').jqxNumberInput(PosInt);
- $('#m_step_time').jqxNumberInput({ Min: 1, Max: 120 });
- $('#m_ramp_time').jqxNumberInput(PosInt);
- $('#m_ramp_time').jqxNumberInput({ Min: 1, Max: 30 });
-
- // initialize the input fields.
- $('#name').jqxInput({ theme: theme, width: 480, height: 23 });
- $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
-
- var  localizationobj = {};
- localizationobj.filterchoosestring= "Keuze:";
-
- // initialize jqxGrid
- $('#jqxgrid').jqxGrid({
-  width: 1280,
-  height: 630,
-  source: dataAdapter,
-  theme: theme,
-  showstatusbar: true,
-  renderstatusbar: function(statusbar) {
-   var rowCount = $("#jqxgrid").jqxGrid('getrows').length;
-   statusbar.append('<div style="float: left; margin: 8px; color: orange !important;">Aantal items: ' + rowCount + '</div>');
-   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: -4px;">Add</span></div>');
-   var expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
-     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -10px;">Export</span></div>');
-   container.append(addButton);
-   container.append(expButton);
-   statusbar.append(container);
-   addButton.jqxButton({ theme: theme, width: 90, height: 17 });
-   expButton.jqxButton({ theme: theme, width: 90, height: 17 });
-   // add new row.
-   addButton.click(function(event) {
-    editrow = -1;
-    $('#name').val('Nieuw maisch schema');
-    $('#notes').val('');
-    dataRecord.uuid = '';
-    editsteps('');
-    $('#popupWindow').jqxWindow('open');
-   });
-   expButton.click(function(event) {
-    window.open('export_mashs.php');
-   });
-  },
-  ready: function () {
-   $("#jqxgrid").jqxGrid('localizestrings', localizationobj);
-  },
-  filterable: true,
-  showfilterrow: true,
-  columns: [
-   { text: 'Maish schema', datafield: 'name', width: 250, filtertype: 'textbox' },
-   { text: 'Opmerkingen', datafield: 'notes', filtertype: 'textbox' },
-   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', filterable: false,
-    cellsrenderer: function() {
-     return 'Wijzig';
-    }, buttonclick: function(row) {
-     editrow = row;
-     // get the clicked row's data and initialize the input fields.
-     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
-     $('#name').val(dataRecord.name);
-     $('#notes').val(dataRecord.notes);
-     editsteps(dataRecord);
-     // show the popup window.
-     $('#popupWindow').jqxWindow('open');
-    }
-   }
-  ]
- });
- // initialize the popup window and buttons.
- $('#popupWindow').jqxWindow({
-  width: 1050,
-  height: 580,
-  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');
- });
- $('#popupStep').jqxWindow({
-  width: 800,
-  height: 300,
-  position: { x: 230, y: 100 },
-  resizable: false,
-  theme: theme,
-  isModal: true,
-  autoOpen: false,
-  cancelButton: $('#Ready'),
-  modalOpacity: 0.40
- });
-
- // step detail popup update values.
- $('#Ready').jqxButton({ template: 'success', width: '90px', theme: theme });
- $('#Ready').click(function() {
-  $('#grid').jqxGrid('setcellvalue', steprow, 'step_name', $('#m_step_name').val());
-  $('#grid').jqxGrid('setcellvalue', steprow, 'step_type', $('#m_step_type').val());
-  $('#grid').jqxGrid('setcellvalue', steprow, 'step_temp', $('#m_step_temp').val());
-  $('#grid').jqxGrid('setcellvalue', steprow, 'end_temp', $('#m_end_temp').val());
-  $('#grid').jqxGrid('setcellvalue', steprow, 'step_time', $('#m_step_time').val());
-  $('#grid').jqxGrid('setcellvalue', steprow, 'ramp_time', $('#m_ramp_time').val());
-  $('#grid').jqxGrid('sortby', 'step_temp', 'asc');
- });
-
- // mash profile popup.
- $('#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 });
- $('#Save').click(function() {
-  var steprows = $('#grid').jqxGrid('getrows'),
-  rowID = -1,
-  row;
-  if (editrow >= 0) {
-   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-  }
-  row = {
-   record: rowID,
-   uuid: dataRecord.uuid,
-   name: $('#name').val(),
-   notes: $('#notes').val(),
-   steps: steprows
-  };
-  if (editrow >= 0) {
-   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
-  } else {
-   $('#jqxgrid').jqxGrid('addrow', null, row);
-  }
-  $('#popupWindow').jqxWindow('hide');
- });
-
- function swapMash(r1, r2) {
-
-  console.log('swap mash rows ' + r1 + ' ' + r2);
-  var row1 = $('#grid').jqxGrid('getrowdata', r1);
-  var row2 = $('#grid').jqxGrid('getrowdata', r2);
-  var obj1 = { step_name: row1.step_name, step_type: row1.step_type, step_temp: row1.step_temp, step_time: row1.step_time,
-               ramp_time: row1.ramp_time, end_temp: row1.end_temp };
-  var obj2 = { step_name: row2.step_name, step_type: row2.step_type, step_temp: row2.step_temp, step_time: row2.step_time,
-               ramp_time: row2.ramp_time, end_temp: row2.end_temp };
-  $("#grid").jqxGrid('updaterow', r1, obj2);
-  $("#grid").jqxGrid('updaterow', r2, obj1);
- }
-
- createDelElements();
-});
-

mercurial