jqgrid_utils 1.1.3 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/dist/jqgrid_utils.js +168 -0
- package/jqgrid_utils.js +168 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Jqgrid_utils
|
|
2
2
|
Convenient Functions for free jqGrid
|
|
3
3
|
|
|
4
4
|
Demo:
|
|
5
5
|
https://jqgrid_utils.calantas.org
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
# Example Usage:
|
|
9
8
|
|
|
10
9
|
Add a the library to your website
|
|
@@ -35,3 +34,22 @@ Discover All Functions:
|
|
|
35
34
|
await gu.grid_set_captain(_grid, data);
|
|
36
35
|
}
|
|
37
36
|
```
|
|
37
|
+
|
|
38
|
+
## Functions:
|
|
39
|
+
|
|
40
|
+
### add grid_load_complete to don't show the delete icon
|
|
41
|
+
```javascript
|
|
42
|
+
loadComplete: async function(data)
|
|
43
|
+
{
|
|
44
|
+
jqu.s_hide_del_icon();
|
|
45
|
+
grid_load_complete;
|
|
46
|
+
},
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
loadComplete: async function(data)
|
|
51
|
+
{
|
|
52
|
+
await jqu.hide_del_icon();
|
|
53
|
+
grid_load_complete;
|
|
54
|
+
},
|
|
55
|
+
```
|
package/dist/jqgrid_utils.js
CHANGED
|
@@ -43,6 +43,7 @@ module.exports = class Vanilla_website_utils
|
|
|
43
43
|
{
|
|
44
44
|
this.grid_set_captain(_grid, data=[]);
|
|
45
45
|
}
|
|
46
|
+
|
|
46
47
|
async grid_set_captain(_grid, data=[])
|
|
47
48
|
{
|
|
48
49
|
const grid = jQuery(_grid);
|
|
@@ -216,6 +217,173 @@ async put_json(url, data)
|
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
|
|
220
|
+
s_hide_del_icon()
|
|
221
|
+
{
|
|
222
|
+
hide_del_icon();
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
async hide_del_icon()
|
|
226
|
+
{
|
|
227
|
+
jQuery('.ui-inline-del').each(function(index) {jQuery(this).html('');});
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
// example: col_model = await jqu.add_link_details(col_model,'http://foo.bar'' , 'target_field','target="_blank"',{"key":"field1","key":"field2"});
|
|
234
|
+
async add_link_details(col_model, url, edit_field, attr = '', keys, format)
|
|
235
|
+
{
|
|
236
|
+
let self = this;
|
|
237
|
+
if (url.indexOf('?') > -1)
|
|
238
|
+
{
|
|
239
|
+
url = url + '&';
|
|
240
|
+
}
|
|
241
|
+
else
|
|
242
|
+
{
|
|
243
|
+
url = url + '?';
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
for (let i = 0; i < col_model.length; i++)
|
|
247
|
+
{
|
|
248
|
+
if (col_model[i]['name'] === edit_field)
|
|
249
|
+
{
|
|
250
|
+
col_model[i]['formatter'] = function(cell_val, obj)
|
|
251
|
+
{
|
|
252
|
+
let key_val = cell_val;
|
|
253
|
+
|
|
254
|
+
if (typeof keys === 'object')
|
|
255
|
+
{
|
|
256
|
+
let pref = '';
|
|
257
|
+
for (i in keys)
|
|
258
|
+
{
|
|
259
|
+
let key = i;
|
|
260
|
+
let v = keys[i];
|
|
261
|
+
key_val = obj.rowData[v];
|
|
262
|
+
if (key_val)
|
|
263
|
+
{
|
|
264
|
+
if (key_val)
|
|
265
|
+
{
|
|
266
|
+
if (key.indexOf('=') !== -1)
|
|
267
|
+
{
|
|
268
|
+
pref = pref + '' + key + '' + encodeURIComponent(key_val) + '&';
|
|
269
|
+
}
|
|
270
|
+
else
|
|
271
|
+
{
|
|
272
|
+
pref = pref + '' + key + '=' + encodeURIComponent(key_val) + '&';
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (pref)
|
|
278
|
+
{
|
|
279
|
+
if (pref.slice(-1) === '&')
|
|
280
|
+
{
|
|
281
|
+
pref = pref.slice(0, -1);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
const _cell_val = self.__cell_format(cell_val, format);
|
|
285
|
+
|
|
286
|
+
cell_val = '<a ' + attr + 'href="' + url + pref + '"> ' + _cell_val + '</a>';
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return cell_val;
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return col_model;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
// examplecol_model = await jqu.add_link_details_separator(col_model, 'https://foo.com' , 'couchdb','target="_blank"',{"mykey":"myval"});
|
|
303
|
+
async add_link_details_separator(col_model, url, edit_field, attr = '', keys, format)
|
|
304
|
+
{
|
|
305
|
+
url = url + '/';
|
|
306
|
+
let self = this;
|
|
307
|
+
for (let i = 0; i < col_model.length; i++)
|
|
308
|
+
{
|
|
309
|
+
if (col_model[i]['name'] === edit_field)
|
|
310
|
+
{
|
|
311
|
+
col_model[i]['formatter'] = function(cell_val, obj)
|
|
312
|
+
{
|
|
313
|
+
let key_val = cell_val;
|
|
314
|
+
|
|
315
|
+
if (typeof keys === 'object')
|
|
316
|
+
{
|
|
317
|
+
let pref = '';
|
|
318
|
+
for (i in keys)
|
|
319
|
+
{
|
|
320
|
+
|
|
321
|
+
let key = i;
|
|
322
|
+
let v = keys[i];
|
|
323
|
+
key_val = obj.rowData[v];
|
|
324
|
+
if (key_val)
|
|
325
|
+
{
|
|
326
|
+
if (key_val)
|
|
327
|
+
{
|
|
328
|
+
if(key != '')
|
|
329
|
+
{
|
|
330
|
+
pref += key + '' + '/' + encodeURIComponent(key_val);
|
|
331
|
+
}
|
|
332
|
+
else
|
|
333
|
+
{
|
|
334
|
+
pref += encodeURIComponent(key_val);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
if (pref)
|
|
340
|
+
{
|
|
341
|
+
if (pref.slice(-1) === '&')
|
|
342
|
+
{
|
|
343
|
+
pref = pref.slice(0, -1);
|
|
344
|
+
}
|
|
345
|
+
const _cell_val = self.__cell_format(cell_val, format);
|
|
346
|
+
cell_val = '<a ' + attr + 'href="' + url + pref + '"> ' + _cell_val + '</a>';
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return cell_val;
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return col_model;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
__cell_format(cell_value, format)
|
|
367
|
+
{
|
|
368
|
+
if (format == 'format_ok')
|
|
369
|
+
{
|
|
370
|
+
if (cell_value == 0 || cell_value === 'fail')
|
|
371
|
+
{
|
|
372
|
+
cell_value = '<i class="fa fa-times-circle" aria-hidden="true" style="color:#ff0000;"></i>';
|
|
373
|
+
}
|
|
374
|
+
else
|
|
375
|
+
{
|
|
376
|
+
cell_value = '<i class="fa fa-check-circle" aria-hidden="true" style="color:#008000;"></i>';
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return cell_value;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
219
387
|
};
|
|
220
388
|
|
|
221
389
|
|
package/jqgrid_utils.js
CHANGED
|
@@ -42,6 +42,7 @@ module.exports = class Vanilla_website_utils
|
|
|
42
42
|
{
|
|
43
43
|
this.grid_set_captain(_grid, data=[]);
|
|
44
44
|
}
|
|
45
|
+
|
|
45
46
|
async grid_set_captain(_grid, data=[])
|
|
46
47
|
{
|
|
47
48
|
const grid = jQuery(_grid);
|
|
@@ -215,6 +216,173 @@ async put_json(url, data)
|
|
|
215
216
|
}
|
|
216
217
|
|
|
217
218
|
|
|
219
|
+
s_hide_del_icon()
|
|
220
|
+
{
|
|
221
|
+
hide_del_icon();
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
async hide_del_icon()
|
|
225
|
+
{
|
|
226
|
+
jQuery('.ui-inline-del').each(function(index) {jQuery(this).html('');});
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
// example: col_model = await jqu.add_link_details(col_model,'http://foo.bar'' , 'target_field','target="_blank"',{"key":"field1","key":"field2"});
|
|
233
|
+
async add_link_details(col_model, url, edit_field, attr = '', keys, format)
|
|
234
|
+
{
|
|
235
|
+
let self = this;
|
|
236
|
+
if (url.indexOf('?') > -1)
|
|
237
|
+
{
|
|
238
|
+
url = url + '&';
|
|
239
|
+
}
|
|
240
|
+
else
|
|
241
|
+
{
|
|
242
|
+
url = url + '?';
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
for (let i = 0; i < col_model.length; i++)
|
|
246
|
+
{
|
|
247
|
+
if (col_model[i]['name'] === edit_field)
|
|
248
|
+
{
|
|
249
|
+
col_model[i]['formatter'] = function(cell_val, obj)
|
|
250
|
+
{
|
|
251
|
+
let key_val = cell_val;
|
|
252
|
+
|
|
253
|
+
if (typeof keys === 'object')
|
|
254
|
+
{
|
|
255
|
+
let pref = '';
|
|
256
|
+
for (i in keys)
|
|
257
|
+
{
|
|
258
|
+
let key = i;
|
|
259
|
+
let v = keys[i];
|
|
260
|
+
key_val = obj.rowData[v];
|
|
261
|
+
if (key_val)
|
|
262
|
+
{
|
|
263
|
+
if (key_val)
|
|
264
|
+
{
|
|
265
|
+
if (key.indexOf('=') !== -1)
|
|
266
|
+
{
|
|
267
|
+
pref = pref + '' + key + '' + encodeURIComponent(key_val) + '&';
|
|
268
|
+
}
|
|
269
|
+
else
|
|
270
|
+
{
|
|
271
|
+
pref = pref + '' + key + '=' + encodeURIComponent(key_val) + '&';
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
if (pref)
|
|
277
|
+
{
|
|
278
|
+
if (pref.slice(-1) === '&')
|
|
279
|
+
{
|
|
280
|
+
pref = pref.slice(0, -1);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const _cell_val = self.__cell_format(cell_val, format);
|
|
284
|
+
|
|
285
|
+
cell_val = '<a ' + attr + 'href="' + url + pref + '"> ' + _cell_val + '</a>';
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
return cell_val;
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return col_model;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
// examplecol_model = await jqu.add_link_details_separator(col_model, 'https://foo.com' , 'couchdb','target="_blank"',{"mykey":"myval"});
|
|
302
|
+
async add_link_details_separator(col_model, url, edit_field, attr = '', keys, format)
|
|
303
|
+
{
|
|
304
|
+
url = url + '/';
|
|
305
|
+
let self = this;
|
|
306
|
+
for (let i = 0; i < col_model.length; i++)
|
|
307
|
+
{
|
|
308
|
+
if (col_model[i]['name'] === edit_field)
|
|
309
|
+
{
|
|
310
|
+
col_model[i]['formatter'] = function(cell_val, obj)
|
|
311
|
+
{
|
|
312
|
+
let key_val = cell_val;
|
|
313
|
+
|
|
314
|
+
if (typeof keys === 'object')
|
|
315
|
+
{
|
|
316
|
+
let pref = '';
|
|
317
|
+
for (i in keys)
|
|
318
|
+
{
|
|
319
|
+
|
|
320
|
+
let key = i;
|
|
321
|
+
let v = keys[i];
|
|
322
|
+
key_val = obj.rowData[v];
|
|
323
|
+
if (key_val)
|
|
324
|
+
{
|
|
325
|
+
if (key_val)
|
|
326
|
+
{
|
|
327
|
+
if(key != '')
|
|
328
|
+
{
|
|
329
|
+
pref += key + '' + '/' + encodeURIComponent(key_val);
|
|
330
|
+
}
|
|
331
|
+
else
|
|
332
|
+
{
|
|
333
|
+
pref += encodeURIComponent(key_val);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
if (pref)
|
|
339
|
+
{
|
|
340
|
+
if (pref.slice(-1) === '&')
|
|
341
|
+
{
|
|
342
|
+
pref = pref.slice(0, -1);
|
|
343
|
+
}
|
|
344
|
+
const _cell_val = self.__cell_format(cell_val, format);
|
|
345
|
+
cell_val = '<a ' + attr + 'href="' + url + pref + '"> ' + _cell_val + '</a>';
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return cell_val;
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
return col_model;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
__cell_format(cell_value, format)
|
|
366
|
+
{
|
|
367
|
+
if (format == 'format_ok')
|
|
368
|
+
{
|
|
369
|
+
if (cell_value == 0 || cell_value === 'fail')
|
|
370
|
+
{
|
|
371
|
+
cell_value = '<i class="fa fa-times-circle" aria-hidden="true" style="color:#ff0000;"></i>';
|
|
372
|
+
}
|
|
373
|
+
else
|
|
374
|
+
{
|
|
375
|
+
cell_value = '<i class="fa fa-check-circle" aria-hidden="true" style="color:#008000;"></i>';
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return cell_value;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
|
|
218
386
|
};
|
|
219
387
|
|
|
220
388
|
|
package/package.json
CHANGED