www/js/inv_waters.js

changeset 528
202272a28052
parent 488
77f1617b6994
child 563
acdd54144838
equal deleted inserted replaced
527:9dfefad3ae1d 528:202272a28052
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21 *****************************************************************************/ 21 *****************************************************************************/
22 22
23 23
24 function createDelElements() { 24 function createDelElements() {
25 $('#eventWindow').jqxWindow({ 25 $('#eventWindow').jqxWindow({
26 theme: theme, 26 theme: theme,
27 position: { x: 490, y: 210 }, 27 position: { x: 490, y: 210 },
28 width: 300, 28 width: 300,
29 height: 175, 29 height: 175,
30 resizable: false, 30 resizable: false,
31 isModal: true, 31 isModal: true,
32 modalOpacity: 0.4, 32 modalOpacity: 0.4,
33 okButton: $('#delOk'), 33 okButton: $('#delOk'),
34 cancelButton: $('#delCancel'), 34 cancelButton: $('#delCancel'),
35 initContent: function () { 35 initContent: function() {
36 $('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme }); 36 $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
37 $('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme }); 37 $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
38 $('#delCancel').focus(); 38 $('#delCancel').focus();
39 } 39 }
40 }); 40 });
41 $('#eventWindow').jqxWindow('hide'); 41 $('#eventWindow').jqxWindow('hide');
42 } 42 }
43 43
44 44
45 $(document).ready(function () { 45 $(document).ready(function() {
46 46
47 // tooltips 47 // tooltips
48 $("#name").jqxTooltip({ content: 'De unieke naam van dit brouwwater.' }); 48 $('#name').jqxTooltip({ content: 'De unieke naam van dit brouwwater.' });
49 $("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' }); 49 $('#notes').jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
50 $("#unlimited_stock").jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' }); 50 $('#unlimited_stock').jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' });
51 $("#calcium").jqxTooltip({ content: 'Calcium (Ca).' }); 51 $('#calcium').jqxTooltip({ content: 'Calcium (Ca).' });
52 $("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' }); 52 $('#bicarbonate').jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' });
53 $("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' }); 53 $('#sulfate').jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
54 $("#chloride").jqxTooltip({ content: 'Chloride (Cl).' }); 54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' });
55 $("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); 55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
56 $("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' }); 56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' });
57 $("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' }); 57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' });
58 $("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); 58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
59 $("#inventory").jqxTooltip({ content: 'Voorraad in liters.' }); 59 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' });
60 $("#cost").jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); 60 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' });
61 61
62 var dataRecord = {}, 62 var dataRecord = {},
63 url = 'includes/db_inventory_water.php', 63 url = 'includes/db_inventory_water.php',
64 // prepare the data 64 // prepare the data
65 source = { 65 source = {
66 datatype: "json", 66 datatype: 'json',
67 cache: false, 67 cache: false,
68 datafields: [ 68 datafields: [
69 { name: 'record', type: 'number' }, 69 { name: 'record', type: 'number' },
70 { name: 'name', type: 'string' }, 70 { name: 'name', type: 'string' },
71 { name: 'unlimited_stock', type: 'int' }, 71 { name: 'unlimited_stock', type: 'int' },
72 { name: 'calcium', type: 'float' }, 72 { name: 'calcium', type: 'float' },
73 { name: 'bicarbonate', type: 'float' }, 73 { name: 'bicarbonate', type: 'float' },
74 { name: 'sulfate', type: 'float' }, 74 { name: 'sulfate', type: 'float' },
75 { name: 'chloride', type: 'float' }, 75 { name: 'chloride', type: 'float' },
76 { name: 'sodium', type: 'float' }, 76 { name: 'sodium', type: 'float' },
77 { name: 'magnesium', type: 'float' }, 77 { name: 'magnesium', type: 'float' },
78 { name: 'ph', type: 'float' }, 78 { name: 'ph', type: 'float' },
79 { name: 'notes', type: 'string' }, 79 { name: 'notes', type: 'string' },
80 { name: 'total_alkalinity', type: 'float' }, 80 { name: 'total_alkalinity', type: 'float' },
81 { name: 'inventory', type: 'float' }, 81 { name: 'inventory', type: 'float' },
82 { name: 'cost', type: 'float' } 82 { name: 'cost', type: 'float' }
83 ], 83 ],
84 id: 'record', 84 id: 'record',
85 url: url, 85 url: url,
86 deleterow: function (rowid, commit) { 86 deleterow: function(rowid, commit) {
87 // synchronize with the server - send delete command 87 // synchronize with the server - send delete command
88 var data = "delete=true&" + $.param({ record: rowid }); 88 var data = 'delete=true&' + $.param({ record: rowid });
89 $.ajax({ 89 $.ajax({
90 dataType: 'json', 90 dataType: 'json',
91 url: url, 91 url: url,
92 cache: false, 92 cache: false,
93 data: data, 93 data: data,
94 type: "POST", 94 type: 'POST',
95 success: function (data, status, xhr) { 95 success: function(data, status, xhr) {
96 commit(true); 96 commit(true);
97 location.reload( true ); 97 location.reload(true);
98 }, 98 },
99 error: function (jqXHR, textStatus, errorThrown) { 99 error: function(jqXHR, textStatus, errorThrown) {
100 commit(false); 100 commit(false);
101 } 101 }
102 }); 102 });
103 }, 103 },
104 addrow: function (rowid, rowdata, position, commit) { 104 addrow: function(rowid, rowdata, position, commit) {
105 var data = "insert=true&" + $.param(rowdata); 105 var data = 'insert=true&' + $.param(rowdata);
106 $.ajax({ 106 $.ajax({
107 dataType: 'json', 107 dataType: 'json',
108 url: url, 108 url: url,
109 cache: false, 109 cache: false,
110 data: data, 110 data: data,
111 type: "POST", 111 type: 'POST',
112 success: function (data, status, xhr) { 112 success: function(data, status, xhr) {
113 commit(true); 113 commit(true);
114 location.reload( true ); 114 location.reload(true);
115 }, 115 },
116 error: function(jqXHR, textStatus, errorThrown) { 116 error: function(jqXHR, textStatus, errorThrown) {
117 commit(false); 117 commit(false);
118 } 118 }
119 }); 119 });
120 }, 120 },
121 updaterow: function (rowid, rowdata, commit) { 121 updaterow: function(rowid, rowdata, commit) {
122 var data = "update=true&" + $.param(rowdata); 122 var data = 'update=true&' + $.param(rowdata);
123 $.ajax({ 123 $.ajax({
124 dataType: 'json', 124 dataType: 'json',
125 url: url, 125 url: url,
126 cache: false, 126 cache: false,
127 data: data, 127 data: data,
128 type: "POST", 128 type: 'POST',
129 success: function (data, status, xhr) { 129 success: function(data, status, xhr) {
130 commit(true); 130 commit(true);
131 location.reload( true ); 131 location.reload(true);
132 }, 132 },
133 error: function(jqXHR, textStatus, errorThrown) { 133 error: function(jqXHR, textStatus, errorThrown) {
134 commit(false); 134 commit(false);
135 } 135 }
136 }); 136 });
137 } 137 }
138 }, 138 },
139 dataAdapter = new $.jqx.dataAdapter(source), 139 dataAdapter = new $.jqx.dataAdapter(source),
140 editrow = -1; 140 editrow = -1;
141 141
142 // initialize the input fields. 142 // initialize the input fields.
143 $("#name").jqxInput({ theme: theme, width: 640, height: 23 }); 143 $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
144 $("#notes").jqxInput({ theme: theme, width: 640, height: 100 }); 144 $('#notes').jqxInput({ theme: theme, width: 640, height: 100 });
145 $("#unlimited_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 }); 145 $('#unlimited_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 });
146 $("#calcium").jqxNumberInput( Spin1dec ); 146 $('#calcium').jqxNumberInput(Spin1dec);
147 $("#bicarbonate").jqxNumberInput( Spin1dec ); 147 $('#bicarbonate').jqxNumberInput(Spin1dec);
148 $("#sulfate").jqxNumberInput( Spin1dec ); 148 $('#sulfate').jqxNumberInput(Spin1dec);
149 $("#chloride").jqxNumberInput( Spin1dec ); 149 $('#chloride').jqxNumberInput(Spin1dec);
150 $("#sodium").jqxNumberInput( Spin1dec ); 150 $('#sodium').jqxNumberInput(Spin1dec);
151 $("#magnesium").jqxNumberInput( Spin1dec ); 151 $('#magnesium').jqxNumberInput(Spin1dec);
152 $("#ph").jqxNumberInput( Spin2pH ); 152 $('#ph').jqxNumberInput(Spin2pH);
153 $("#total_alkalinity").jqxNumberInput( Spin1dec ); 153 $('#total_alkalinity').jqxNumberInput(Spin1dec);
154 $("#inventory").jqxNumberInput( Spin1dec ); 154 $('#inventory').jqxNumberInput(Spin1dec);
155 $("#cost").jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); 155 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true });
156 156
157 // initialize jqxGrid 157 // initialize jqxGrid
158 $("#jqxgrid").jqxGrid({ 158 $('#jqxgrid').jqxGrid({
159 width: 1280, 159 width: 1280,
160 height: 630, 160 height: 630,
161 source: dataAdapter, 161 source: dataAdapter,
162 theme: theme, 162 theme: theme,
163 showstatusbar: true, 163 showstatusbar: true,
164 renderstatusbar: function (statusbar) { 164 renderstatusbar: function(statusbar) {
165 var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); 165 var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
166 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>"); 166 addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
167 container.append(addButton); 167 'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
168 statusbar.append(container); 168 container.append(addButton);
169 addButton.jqxButton({ theme: theme, width: 90, height: 20 }); 169 statusbar.append(container);
170 // add new row. 170 addButton.jqxButton({ theme: theme, width: 90, height: 20 });
171 addButton.click(function (event) { 171 // add new row.
172 editrow = -1; 172 addButton.click(function(event) {
173 $("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } }); 173 editrow = -1;
174 $("#name").val('Nieuw brouwwater'); 174 $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
175 $("#unlimited_stock").val(0); 175 $('#name').val('Nieuw brouwwater');
176 $("#calcium").val(0); 176 $('#unlimited_stock').val(0);
177 $("#bicarbonate").val(0); 177 $('#calcium').val(0);
178 $("#sulfate").val(0); 178 $('#bicarbonate').val(0);
179 $("#chloride").val(0); 179 $('#sulfate').val(0);
180 $("#sodium").val(0); 180 $('#chloride').val(0);
181 $("#magnesium").val(0); 181 $('#sodium').val(0);
182 $("#ph").val(7); 182 $('#magnesium').val(0);
183 $("#notes").val(''); 183 $('#ph').val(7);
184 $("#total_alkalinity").val(0); 184 $('#notes').val('');
185 $("#inventory").val(0); 185 $('#total_alkalinity').val(0);
186 $("#cost").val(0); 186 $('#inventory').val(0);
187 $("#popupWindow").jqxWindow('open'); 187 $('#cost').val(0);
188 }); 188 $('#popupWindow').jqxWindow('open');
189 }, 189 });
190 filterable: false, 190 },
191 columns: [ 191 filterable: false,
192 { text: 'Water leverancier', datafield: 'name', width: 225 }, 192 columns: [
193 { text: 'Opmerkingen', datafield: 'notes' }, 193 { text: 'Water leverancier', datafield: 'name', width: 225 },
194 { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 }, 194 { text: 'Opmerkingen', datafield: 'notes' },
195 { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1', 195 { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 },
196 cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { 196 { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
197 var amount = ""; 197 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
198 if (value > 0 && rowdata.unlimited_stock == 0) 198 var amount = '';
199 amount = dataAdapter.formatNumber(value,"f1")+" L"; 199 if (value > 0 && rowdata.unlimited_stock == 0)
200 return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; 200 amount = dataAdapter.formatNumber(value, 'f1') + ' L';
201 } 201 return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>';
202 }, 202 }
203 { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', 203 },
204 cellsrenderer: function () { 204 { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
205 return "Wijzig"; 205 cellsrenderer: function() {
206 }, buttonclick: function (row) { 206 return 'Wijzig';
207 // open the popup window when the user clicks a button. 207 }, buttonclick: function(row) {
208 editrow = row; 208 // open the popup window when the user clicks a button.
209 $("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } }); 209 editrow = row;
210 // get the clicked row's data and initialize the input fields. 210 $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
211 dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); 211 // get the clicked row's data and initialize the input fields.
212 $("#name").val(dataRecord.name); 212 dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
213 $("#unlimited_stock").val(dataRecord.unlimited_stock); 213 $('#name').val(dataRecord.name);
214 $("#calcium").val(dataRecord.calcium); 214 $('#unlimited_stock').val(dataRecord.unlimited_stock);
215 $("#bicarbonate").val(dataRecord.bicarbonate); 215 $('#calcium').val(dataRecord.calcium);
216 $("#sulfate").val(dataRecord.sulfate); 216 $('#bicarbonate').val(dataRecord.bicarbonate);
217 $("#chloride").val(dataRecord.chloride); 217 $('#sulfate').val(dataRecord.sulfate);
218 $("#sodium").val(dataRecord.sodium); 218 $('#chloride').val(dataRecord.chloride);
219 $("#magnesium").val(dataRecord.magnesium); 219 $('#sodium').val(dataRecord.sodium);
220 $("#ph").val(dataRecord.ph); 220 $('#magnesium').val(dataRecord.magnesium);
221 $("#notes").val(dataRecord.notes); 221 $('#ph').val(dataRecord.ph);
222 $("#total_alkalinity").val(dataRecord.total_alkalinity); 222 $('#notes').val(dataRecord.notes);
223 $("#inventory").val(dataRecord.inventory); 223 $('#total_alkalinity').val(dataRecord.total_alkalinity);
224 $("#cost").val(dataRecord.cost); 224 $('#inventory').val(dataRecord.inventory);
225 // show the popup window. 225 $('#cost').val(dataRecord.cost);
226 $("#popupWindow").jqxWindow('open'); 226 // show the popup window.
227 } 227 $('#popupWindow').jqxWindow('open');
228 } 228 }
229 ] 229 }
230 }); 230 ]
231 231 });
232 $("#total_alkalinity").on('change', function (event) { 232
233 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; 233 $('#total_alkalinity').on('change', function(event) {
234 $("#bicarbonate").val(dataRecord.bicarbonate); 234 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
235 }); 235 $('#bicarbonate').val(dataRecord.bicarbonate);
236 $("#bicarbonate").on('change', function (event) { 236 });
237 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; 237 $('#bicarbonate').on('change', function(event) {
238 $("#total_alkalinity").val(dataRecord.total_alkalinity); 238 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
239 }); 239 $('#total_alkalinity').val(dataRecord.total_alkalinity);
240 240 });
241 // initialize the popup window and buttons. 241
242 $("#popupWindow").jqxWindow({ 242 // initialize the popup window and buttons.
243 width: 1050, 243 $('#popupWindow').jqxWindow({
244 height: 550, 244 width: 1050,
245 resizable: false, 245 height: 550,
246 theme: theme, 246 resizable: false,
247 isModal: true, 247 theme: theme,
248 autoOpen: false, 248 isModal: true,
249 cancelButton: $("#Cancel"), 249 autoOpen: false,
250 modalOpacity: 0.40 250 cancelButton: $('#Cancel'),
251 }); 251 modalOpacity: 0.40
252 $("#popupWindow").on('open', function () { 252 });
253 $("#name").jqxInput('selectAll'); 253 $('#popupWindow').on('open', function() {
254 }); 254 $('#name').jqxInput('selectAll');
255 $("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme }); 255 });
256 $("#Delete").click(function () { 256 $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
257 if (editrow >= 0) { 257 $('#Delete').click(function() {
258 // Open a popup to confirm this action. 258 if (editrow >= 0) {
259 $('#eventWindow').jqxWindow('open'); 259 // Open a popup to confirm this action.
260 $("#delOk").click(function () { 260 $('#eventWindow').jqxWindow('open');
261 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); 261 $('#delOk').click(function() {
262 $("#jqxgrid").jqxGrid('deleterow', rowID); 262 var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
263 }); 263 $('#jqxgrid').jqxGrid('deleterow', rowID);
264 } 264 });
265 $("#popupWindow").jqxWindow('hide'); 265 }
266 }); 266 $('#popupWindow').jqxWindow('hide');
267 $("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme }); 267 });
268 $("#Save").jqxButton({ template: "success", width: '90px', theme: theme }); 268 $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
269 // update the edited row when the user clicks the 'Save' button. 269 $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
270 $("#Save").click(function () { 270 // update the edited row when the user clicks the 'Save' button.
271 var row, rowID = -1; 271 $('#Save').click(function() {
272 if (editrow >= 0) { 272 var row, rowID = -1;
273 rowID = $('#jqxgrid').jqxGrid('getrowid', editrow); 273 if (editrow >= 0) {
274 } 274 rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
275 row = { 275 }
276 record: rowID, 276 row = {
277 name: $("#name").val(), 277 record: rowID,
278 unlimited_stock: $("#unlimited_stock").val(), 278 name: $('#name').val(),
279 calcium: parseFloat($("#calcium").jqxNumberInput('decimal')), 279 unlimited_stock: $('#unlimited_stock').val(),
280 bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')), 280 calcium: parseFloat($('#calcium').jqxNumberInput('decimal')),
281 sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')), 281 bicarbonate: parseFloat($('#bicarbonate').jqxNumberInput('decimal')),
282 chloride: parseFloat($("#chloride").jqxNumberInput('decimal')), 282 sulfate: parseFloat($('#sulfate').jqxNumberInput('decimal')),
283 sodium: parseFloat($("#sodium").jqxNumberInput('decimal')), 283 chloride: parseFloat($('#chloride').jqxNumberInput('decimal')),
284 magnesium: parseFloat($("#magnesium").jqxNumberInput('decimal')), 284 sodium: parseFloat($('#sodium').jqxNumberInput('decimal')),
285 ph: parseFloat($("#ph").jqxNumberInput('decimal')), 285 magnesium: parseFloat($('#magnesium').jqxNumberInput('decimal')),
286 notes: $("#notes").val(), 286 ph: parseFloat($('#ph').jqxNumberInput('decimal')),
287 total_alkalinity: parseFloat($("#total_alkalinity").jqxNumberInput('decimal')), 287 notes: $('#notes').val(),
288 inventory: parseFloat($("#inventory").jqxNumberInput('decimal')), 288 total_alkalinity: parseFloat($('#total_alkalinity').jqxNumberInput('decimal')),
289 cost: parseFloat($("#cost").jqxNumberInput('decimal')) 289 inventory: parseFloat($('#inventory').jqxNumberInput('decimal')),
290 }; 290 cost: parseFloat($('#cost').jqxNumberInput('decimal'))
291 if (editrow >= 0) { 291 };
292 $('#jqxgrid').jqxGrid('updaterow', rowID, row); 292 if (editrow >= 0) {
293 } else { 293 $('#jqxgrid').jqxGrid('updaterow', rowID, row);
294 $('#jqxgrid').jqxGrid('addrow', null, row); 294 } else {
295 } 295 $('#jqxgrid').jqxGrid('addrow', null, row);
296 $("#popupWindow").jqxWindow('hide'); 296 }
297 }); 297 $('#popupWindow').jqxWindow('hide');
298 createDelElements(); 298 });
299 createDelElements();
299 }); 300 });
300 301

mercurial