www/js/profile_fermentation.js

Sun, 27 Jan 2019 17:39:26 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 27 Jan 2019 17:39:26 +0100
changeset 215
83cee005d2d9
parent 189
6470e5c6a001
child 217
318aab371497
permissions
-rw-r--r--

Fixed the utf-8 problems when storing json arrays on the server by using manual encoding. The json-encode function sucks for this project. Added step detail edit screen instead of on grid cell editing. This must go into the product and recipe editors too.

186
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /*****************************************************************************
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * Copyright (C) 2019
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * Michiel Broek <mbroek at mbse dot eu>
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 *
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * This file is part of BMS
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 *
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 * This is free software; you can redistribute it and/or modify it
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * under the terms of the GNU General Public License as published by the
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * Free Software Foundation; either version 2, or (at your option) any
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * later version.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 *
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 * Brewery Management System is distributed in the hope that it will be useful,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * General Public License for more details.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 *
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * along with ThermFerm; see the file COPYING. If not, write to the Free
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 *****************************************************************************/
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 function createDelElements() {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 $('#eventWindow').jqxWindow({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 theme: theme,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 position: { x: 490, y: 210 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 width: 300,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 height: 175,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 resizable: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 isModal: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 modalOpacity: 0.4,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 okButton: $('#delOk'),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 cancelButton: $('#delCancel'),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 initContent: function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 $('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 $('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 $('#delCancel').focus();
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 $('#eventWindow').jqxWindow('hide');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 $(document).ready(function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 var dataRecord = {};
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 var url = "includes/db_profile_fermentation.php";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 // tooltips
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 $("#name").jqxTooltip({ content: 'De naam voor dit vergisting profiel.' });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 $("#inittemp_lo").jqxTooltip({ content: 'De minimale begin temperatuur van dit profiel.' });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 $("#inittemp_hi").jqxTooltip({ content: 'De maximale begin temperatuur van dit profiel.' });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 // $("#fridgemode").jqxTooltip({ content: 'Wanneer deze actief is dan wordt geregeld als koelkast op de lucht temperatuur sensor in plaats van op de bier sensor.' });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 $("#grid").jqxTooltip({ content: 'De maisch stappen in dit profiel.'});
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 // prepare the data
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 var source = {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 datatype: "json",
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 cache: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 datafields: [
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 { name: 'record', type: 'number' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 { name: 'uuid', type: 'string' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 { name: 'name', type: 'string' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 { name: 'inittemp_lo', type: 'float' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 { name: 'inittemp_hi', type: 'float' },
189
6470e5c6a001 In bmsd added missing json percent. The Makefile didn't install the fpdf library. Added profile commands. Small changes to the monitor fermenters screen. The monitor fermenters scheduler is now more responsive. Profiles selection and commands in the remote thermferm.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
65 { name: 'fridgemode', type: 'int' },
186
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 { name: 'totalsteps', type: 'int' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 { name: 'duration', type: 'int' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 { name: 'steps', type: 'array' }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 ],
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 id: 'record',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 url: url,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 deleterow: function (rowid, commit) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 // synchronize with the server - send delete command
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 var data = "delete=true&" + $.param({ record: rowid });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 $.ajax({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 dataType: 'json',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 url: url,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 cache: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 data: data,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 success: function (data, status, xhr) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 // delete command is executed.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 commit(true);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 error: function (jqXHR, textStatus, errorThrown) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 commit(false);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 addrow: function (rowid, rowdata, position, commit) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 var data = "insert=true&" + $.param(rowdata);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 $.ajax({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 dataType: 'json',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 url: url,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 cache: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 data: data,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 success: function (data, status, xhr) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 commit(true);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 error: function(jqXHR, textStatus, errorThrown) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 commit(false);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 updaterow: function (rowid, rowdata, commit) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 var data = "update=true&" + $.param(rowdata);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 $.ajax({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 dataType: 'json',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 url: url,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 cache: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 data: data,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 success: function (data, status, xhr) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 // update command is executed.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 commit(true);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 error: function(jqXHR, textStatus, errorThrown) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 commit(false);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 var dataAdapter = new $.jqx.dataAdapter(source);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 // Inline steps editor
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 var editsteps = function (data) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 var generaterow = function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 var row = {};
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 row["name"] = "Stap 1";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 row['steptime'] = 12;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 row['resttime'] = 24;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 row['target_lo'] = 22.0;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 row['target_hi'] = 23.0;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 row['fridgemode'] = 0;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 return row;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 var stepSource = {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 localdata: data.steps,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 datatype: "local",
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 datafields: [
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 { name: 'name', type: 'string' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 { name: 'steptime', type: 'float' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 { name: 'resttime', type: 'float' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 { name: 'target_lo', type: 'float' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 { name: 'target_hi', type: 'float' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 { name: 'fridgemode', type: 'int' }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 ],
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 addrow: function (rowid, rowdata, position, commit) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 commit(true);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 deleterow: function (rowid, commit) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 commit(true);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152 };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 var stepAdapter = new $.jqx.dataAdapter(stepSource);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 $("#grid").jqxGrid({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 width: 800,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 height: 330,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 source: stepAdapter,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 theme: theme,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 selectionmode: 'singlerow',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 editmode: 'selectedcell',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 editable: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162 showtoolbar: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 rendertoolbar: function (toolbar) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 var me = this;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 var container = $("<div style='margin: 5px;'></div>");
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 toolbar.append(container);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 container.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169 $("#addrowbutton").jqxButton({ theme: theme, width: 150 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 $("#deleterowbutton").jqxButton({ theme: theme, width: 150 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 // create new row.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172 $("#addrowbutton").on('click', function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173 var datarow = generaterow();
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 var commit = $("#grid").jqxGrid('addrow', null, datarow);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
175 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 // delete row.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 $("#deleterowbutton").on('click', function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
179 var rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181 var id = $("#grid").jqxGrid('getrowid', selectedrowindex);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 var commit = $("#grid").jqxGrid('deleterow', id);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186 columns: [
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187 { text: 'Stap naam', datafield: 'name' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 { text: 'Min temperatuur', datafield: 'target_lo', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 validation: function (cell, value) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 if (value < 0 || value > 40) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191 return { result: false, message: "De temperatuur moet tussen 0 en 40 zijn." };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 return true;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196 { text: 'Max temperatuur', datafield: 'target_hi', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 validation: function (cell, value) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 if (value < 0 || value > 40) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 return { result: false, message: "De temperatuur moet tussen 0 en 40 zijn." };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 return true;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 { text: 'Koelkast', datafield: 'fridgemode', columntype: 'checkbox', width: 80 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 { text: 'Stap tijd', datafield: 'steptime', width: 80, align: 'right', cellsalign: 'right',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 validation: function (cell, value) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 if (value < 0 || value > 14400) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 return { result: false, message: "De tijd moet tussen 0 en 14400 zijn." };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 return true;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 { text: 'Rust tijd', datafield: 'resttime', width: 80, align: 'right', cellsalign: 'right',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 validation: function (cell, value) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 if (value < 0 || value > 14400) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216 return { result: false, message: "De tijd moet tussen 0 en 14400 zijn." };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 return true;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
221 ]
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
222 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
223 // $("#grid").on('cellendedit', function (event) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
224 // $('#grid').jqxGrid('sortby', 'step_temp', 'asc');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
225 // });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
226 };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
227
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
228 // initialize the input fields.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
229 $("#name").jqxInput({ theme: theme, width: 640, height: 23 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
230 $("#inittemp_lo").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 40, decimalDigits: 1, spinButtons: true, spinButtonsStep: 0.1 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
231 $("#inittemp_hi").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 40, decimalDigits: 1, spinButtons: true, spinButtonsStep: 0.1 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
232 $("#fridgemode").jqxCheckBox({ theme: theme, height: 23, enableContainerClick: false });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
233
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
234 var editrow = -1;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
235 // initialize jqxGrid
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
236 $("#jqxgrid").jqxGrid({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
237 width: 1280,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
238 height: 630,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
239 source: dataAdapter,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
240 theme: theme,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
241 showstatusbar: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
242 localization: getLocalization(),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
243 renderstatusbar: function (statusbar) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
244 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
245 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;'>Nieuw</span></div>");
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
246 container.append(addButton);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
247 statusbar.append(container);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
248 addButton.jqxButton({ theme: theme, width: 120, height: 20 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
249 // add new row.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
250 addButton.click(function (event) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
251 editrow = -1;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
252 $("#popupWindow").jqxWindow({ position: { x: 110, y: 40 } });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
253 $("#name").val('');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
254 dataRecord.uuid = '';
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
255 $("#inittemp_lo").val('20.0');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
256 $("#inittemp_hi").val('20.0');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
257 $("#fridgemode").val('0');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
258 dataRecord.totalsteps = 0;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
259 dataRecord.duration = 0;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
260 editsteps('');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
261 $("#popupWindow").jqxWindow('open');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
262 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
263 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
264 filterable: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
265 filtermode: 'excel',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
266 columns: [
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
267 { text: 'Vergisting profiel', datafield: 'name' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268 { text: 'Min. temperatuur', datafield: 'inittemp_lo', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
269 { text: 'Max. temperatuur', datafield: 'inittemp_hi', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270 { text: 'Stappen', datafield: 'totalsteps', width: 80, align: 'right', cellsalign: 'right' },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271 { text: 'Tijdsduur', datafield: 'duration', width: 150, align: 'right', cellsalign: 'right',
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272 cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 //var rowData = $("#fermentableGrid").jqxGrid('getrowdata', row);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274 if (value < 24) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 var show = value+" uur";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 } else {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 var days = Math.floor(value / 24);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278 var hours = value % 24;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 if (days == 1)
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 var show = days+" dag, "+hours+" uur";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 else
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 var show = days+" dagen, "+hours+" uur";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 return "<span style='margin: 3px; margin-top: 6px; float: "+columnproperties.cellsalign+"'>"+show+"</span>";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
285 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 },
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287 { text: 'Wijzig', datafield: 'Edit', width: 120, align: 'center', columntype: 'button', cellsrenderer: function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 return "Wijzig";
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
289 }, buttonclick: function (row) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 // open the popup window when the user clicks a button.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
291 editrow = row;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
292 $("#popupWindow").jqxWindow({ position: { x: 110, y: 40 } });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
293 // get the clicked row's data and initialize the input fields.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
294 dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
295 $("#name").val(dataRecord.name);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
296 $("#inittemp_lo").val(parseFloat(dataRecord.inittemp_lo));
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
297 $("#inittemp_hi").val(parseFloat(dataRecord.inittemp_hi));
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
298 $("#fridgemode").val(parseFloat(dataRecord.fridgemode));
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
299 editsteps(dataRecord);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
300 // show the popup window.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
301 $("#popupWindow").jqxWindow('open');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
302 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
303 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
304 ]
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
305 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
306 // initialize the popup window and buttons.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
307 $("#popupWindow").jqxWindow({
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
308 width: 1050,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
309 height: 550,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
310 resizable: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
311 theme: theme,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
312 isModal: true,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
313 autoOpen: false,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
314 cancelButton: $("#Cancel"),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
315 modalOpacity: 0.40
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
316 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
317 $("#popupWindow").on('open', function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318 $("#name").jqxInput('selectAll');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
319 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
320 $("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
321 $("#Delete").click(function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
322 if (editrow >= 0) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
323 // Open a popup to confirm this action.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
324 $('#eventWindow').jqxWindow('open');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
325 $("#delOk").click(function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
326 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
327 $("#jqxgrid").jqxGrid('deleterow', rowID);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
328 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
329 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
330 $("#popupWindow").jqxWindow('hide');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
331 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
332 $("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
333 $("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
334 // update the edited row when the user clicks the 'Save' button.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
335 $("#Save").click(function () {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
336 var steprows = $('#grid').jqxGrid('getrows');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
337 var rowID = -1;
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
338 if (editrow >= 0) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
339 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
340 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
341 var row = {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
342 record: rowID,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
343 uuid: dataRecord.uuid,
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
344 name: $("#name").val(),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
345 inittemp_lo: parseFloat($("#inittemp_lo").jqxNumberInput('decimal')),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
346 inittemp_hi: parseFloat($("#inittemp_hi").jqxNumberInput('decimal')),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
347 fridgemode: $("#fridgemode").val(),
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
348 steps: steprows
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
349 };
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
350 if (editrow >= 0) {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
351 $('#jqxgrid').jqxGrid('updaterow', rowID, row);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
352 } else {
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
353 $('#jqxgrid').jqxGrid('addrow', null, row);
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
354 }
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
355 $("#popupWindow").jqxWindow('hide');
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
356 location.reload( true ); // reload ourself.
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
357 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
358 createDelElements();
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
359 });
a7c2c61a01ad Added profile fermentation editor.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
360

mercurial