42 } |
42 } |
43 |
43 |
44 |
44 |
45 $(document).ready(function () { |
45 $(document).ready(function () { |
46 var url = "includes/db_inventory_water.php"; |
46 var url = "includes/db_inventory_water.php"; |
|
47 // tooltips |
|
48 $("#name").jqxTooltip({ content: 'De unieke naam van dit brouwwater.' }); |
|
49 $("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' }); |
|
50 $("#unlimited_stock").jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' }); |
|
51 $("#calcium").jqxTooltip({ content: 'Calcium (Ca).' }); |
|
52 $("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3) kan worden gebruikt als invoer voor de Totale alkaliteit.' }); |
|
53 $("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' }); |
|
54 $("#chloride").jqxTooltip({ content: 'Chloride (Cl).' }); |
|
55 $("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
|
56 $("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' }); |
|
57 $("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' }); |
|
58 $("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit.' }); |
|
59 $("#default_water").jqxTooltip({ content: 'Is dit het standaard water voor de meeste bieren.' }); |
|
60 $("#inventory").jqxTooltip({ content: 'Voorraad in liters.' }); |
|
61 $("#cost").jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); |
47 // prepare the data |
62 // prepare the data |
48 var source = { |
63 var source = { |
49 datatype: "json", |
64 datatype: "json", |
50 cache: false, |
65 cache: false, |
51 datafields: [ |
66 datafields: [ |
52 { name: 'record', type: 'number' }, |
67 { name: 'record', type: 'number' }, |
53 { name: 'name', type: 'string' }, |
68 { name: 'name', type: 'string' }, |
54 { name: 'always_on_stock', type: 'bool' }, |
69 { name: 'unlimited_stock', type: 'bool' }, |
55 { name: 'calcium', type: 'float' }, |
70 { name: 'calcium', type: 'float' }, |
56 { name: 'bicarbonate', type: 'float' }, |
71 { name: 'bicarbonate', type: 'float' }, |
57 { name: 'sulfate', type: 'float' }, |
72 { name: 'sulfate', type: 'float' }, |
58 { name: 'chloride', type: 'float' }, |
73 { name: 'chloride', type: 'float' }, |
59 { name: 'sodium', type: 'float' }, |
74 { name: 'sodium', type: 'float' }, |
60 { name: 'magnesium', type: 'float' }, |
75 { name: 'magnesium', type: 'float' }, |
61 { name: 'ph', type: 'float' }, |
76 { name: 'ph', type: 'float' }, |
62 { name: 'notes', type: 'string' }, |
77 { name: 'notes', type: 'string' }, |
63 { name: 'total_alkalinity', type: 'float' }, |
78 { name: 'total_alkalinity', type: 'float' }, |
64 { name: 'default_water', type: 'bool' }, |
79 { name: 'default_water', type: 'bool' }, |
65 { name: 'inventory', type: 'string' }, |
80 { name: 'inventory', type: 'float' }, |
66 { name: 'cost', type: 'float' } |
81 { name: 'cost', type: 'float' } |
67 ], |
82 ], |
68 id: 'record', |
83 id: 'record', |
69 url: url, |
84 url: url, |
70 deleterow: function (rowid, commit) { |
85 deleterow: function (rowid, commit) { |
116 }); |
131 }); |
117 } |
132 } |
118 }; |
133 }; |
119 // initialize the input fields. |
134 // initialize the input fields. |
120 $("#name").jqxInput({ theme: theme, width: 250, height: 23 }); |
135 $("#name").jqxInput({ theme: theme, width: 250, height: 23 }); |
121 $("#always_on_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 }); |
136 $("#unlimited_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 }); |
122 $("#calcium").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
137 $("#calcium").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
123 $("#bicarbonate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
138 $("#bicarbonate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
124 $("#sulfate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
139 $("#sulfate").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
125 $("#chloride").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
140 $("#chloride").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
126 $("#sodium").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
141 $("#sodium").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 70, height: 23, min: 0, decimalDigits: 1, spinButtons: true }); |
151 // add new row. |
166 // add new row. |
152 addButton.click(function (event) { |
167 addButton.click(function (event) { |
153 editrow = -1; |
168 editrow = -1; |
154 $("#popupWindow").jqxWindow({ position: { x: 230, y: 30 } }); |
169 $("#popupWindow").jqxWindow({ position: { x: 230, y: 30 } }); |
155 $("#name").val(''); |
170 $("#name").val(''); |
156 $("#always_on_stock").val(''); |
171 $("#unlimited_stock").val(''); |
157 $("#calcium").val(''); |
172 $("#calcium").val(''); |
158 $("#bicarbonate").val(''); |
173 $("#bicarbonate").val(''); |
159 $("#sulfate").val(''); |
174 $("#sulfate").val(''); |
160 $("#chloride").val(''); |
175 $("#chloride").val(''); |
161 $("#sodium").val(''); |
176 $("#sodium").val(''); |
170 }); |
185 }); |
171 }, |
186 }, |
172 filterable: true, |
187 filterable: true, |
173 filtermode: 'excel', |
188 filtermode: 'excel', |
174 columns: [ |
189 columns: [ |
175 { text: 'Water leverancier', datafield: 'name', width: 250 }, |
190 { text: 'Water leverancier', datafield: 'name', width: 225 }, |
176 { text: 'Opmerkingen', datafield: 'notes', width: 850 }, |
191 { text: 'Opmerkingen', datafield: 'notes' }, |
177 { text: 'Standaard', datafield: 'default_water', columntype: 'checkbox', width: 80 }, |
192 { text: 'Standaard', datafield: 'default_water', columntype: 'checkbox', width: 80 }, |
178 { text: 'Wijzig', datafield: 'Edit', columntype: 'button', cellsrenderer: function () { |
193 { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 }, |
|
194 { text: 'Liters', datafield: 'inventory', width: 70, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, |
|
195 { text: 'Wijzig', datafield: 'Edit', width: 120, align: 'center', columntype: 'button', cellsrenderer: function () { |
179 return "Wijzig"; |
196 return "Wijzig"; |
180 }, buttonclick: function (row) { |
197 }, buttonclick: function (row) { |
181 // open the popup window when the user clicks a button. |
198 // open the popup window when the user clicks a button. |
182 editrow = row; |
199 editrow = row; |
183 $("#popupWindow").jqxWindow({ position: { x: 230, y: 30 } }); |
200 $("#popupWindow").jqxWindow({ position: { x: 230, y: 30 } }); |
184 // get the clicked row's data and initialize the input fields. |
201 // get the clicked row's data and initialize the input fields. |
185 var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); |
202 var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); |
186 $("#name").val(dataRecord.name); |
203 $("#name").val(dataRecord.name); |
187 $("#always_on_stock").val(dataRecord.always_on_stock); |
204 $("#unlimited_stock").val(dataRecord.unlimited_stock); |
188 $("#calcium").val(dataRecord.calcium); |
205 $("#calcium").val(dataRecord.calcium); |
189 $("#bicarbonate").val(dataRecord.bicarbonate); |
206 $("#bicarbonate").val(dataRecord.bicarbonate); |
190 $("#sulfate").val(dataRecord.sulfate); |
207 $("#sulfate").val(dataRecord.sulfate); |
191 $("#chloride").val(dataRecord.chloride); |
208 $("#chloride").val(dataRecord.chloride); |
192 $("#sodium").val(dataRecord.sodium); |
209 $("#sodium").val(dataRecord.sodium); |
229 if (editrow >= 0) { |
246 if (editrow >= 0) { |
230 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
247 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); |
231 var row = { |
248 var row = { |
232 record: rowID, |
249 record: rowID, |
233 name: $("#name").val(), |
250 name: $("#name").val(), |
234 always_on_stock: $("#always_on_stock").val(), |
251 unlimited_stock: $("#unlimited_stock").val(), |
235 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), |
252 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), |
236 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), |
253 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), |
237 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), |
254 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), |
238 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), |
255 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), |
239 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), |
256 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), |
250 } else { |
267 } else { |
251 // Insert a record |
268 // Insert a record |
252 var newrow = { |
269 var newrow = { |
253 record: -1, |
270 record: -1, |
254 name: $("#name").val(), |
271 name: $("#name").val(), |
255 always_on_stock: $("#always_on_stock").val(), |
272 unlimited_stock: $("#unlimited_stock").val(), |
256 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), |
273 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), |
257 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), |
274 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), |
258 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), |
275 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), |
259 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), |
276 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), |
260 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), |
277 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), |