@ntlab/ntjs-assets 2.36.0 → 2.37.0

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.
Files changed (125) hide show
  1. package/assets/js/cdn.json +1 -1
  2. package/assets/js/jqGrid/css/ui.jqgrid-bootstrap.css +32 -0
  3. package/assets/js/jqGrid/css/ui.jqgrid-bootstrap4.css +32 -1
  4. package/assets/js/jqGrid/css/ui.jqgrid-bootstrap5.css +63 -0
  5. package/assets/js/jqGrid/css/ui.jqgrid.css +147 -4
  6. package/assets/js/jqGrid/js/addons/old_css_def.js +150 -0
  7. package/assets/js/jqGrid/js/grid.base.js +261 -581
  8. package/assets/js/jqGrid/js/grid.clipboard.js +588 -0
  9. package/assets/js/jqGrid/js/grid.common.js +91 -9
  10. package/assets/js/jqGrid/js/grid.export.js +95 -27
  11. package/assets/js/jqGrid/js/grid.filter.js +4 -50
  12. package/assets/js/jqGrid/js/grid.formedit.js +4 -1
  13. package/assets/js/jqGrid/js/grid.frozenrows.js +39 -160
  14. package/assets/js/jqGrid/js/grid.grouping.js +35 -48
  15. package/assets/js/jqGrid/js/grid.pivot.js +38 -16
  16. package/assets/js/jqGrid/js/grid.subgrid.js +1 -1
  17. package/assets/js/jqGrid/js/i18n/grid.locale-ar.js +28 -0
  18. package/assets/js/jqGrid/js/i18n/grid.locale-bg.js +28 -0
  19. package/assets/js/jqGrid/js/i18n/grid.locale-ca.js +28 -0
  20. package/assets/js/jqGrid/js/i18n/grid.locale-cn.js +28 -0
  21. package/assets/js/jqGrid/js/i18n/grid.locale-cs.js +28 -0
  22. package/assets/js/jqGrid/js/i18n/grid.locale-de.js +28 -0
  23. package/assets/js/jqGrid/js/i18n/grid.locale-dk.js +28 -0
  24. package/assets/js/jqGrid/js/i18n/grid.locale-el.js +28 -0
  25. package/assets/js/jqGrid/js/i18n/grid.locale-en.js +28 -0
  26. package/assets/js/jqGrid/js/i18n/grid.locale-es.js +28 -0
  27. package/assets/js/jqGrid/js/i18n/grid.locale-fa.js +31 -3
  28. package/assets/js/jqGrid/js/i18n/grid.locale-fi.js +28 -0
  29. package/assets/js/jqGrid/js/i18n/grid.locale-fr.js +28 -0
  30. package/assets/js/jqGrid/js/i18n/grid.locale-gl.js +28 -0
  31. package/assets/js/jqGrid/js/i18n/grid.locale-he.js +28 -0
  32. package/assets/js/jqGrid/js/i18n/grid.locale-hr.js +28 -0
  33. package/assets/js/jqGrid/js/i18n/grid.locale-hu.js +28 -0
  34. package/assets/js/jqGrid/js/i18n/grid.locale-id.js +28 -0
  35. package/assets/js/jqGrid/js/i18n/grid.locale-is.js +28 -0
  36. package/assets/js/jqGrid/js/i18n/grid.locale-it.js +28 -0
  37. package/assets/js/jqGrid/js/i18n/grid.locale-ja.js +28 -0
  38. package/assets/js/jqGrid/js/i18n/grid.locale-kr.js +28 -0
  39. package/assets/js/jqGrid/js/i18n/grid.locale-lt.js +28 -0
  40. package/assets/js/jqGrid/js/i18n/grid.locale-me.js +28 -0
  41. package/assets/js/jqGrid/js/i18n/grid.locale-nl.js +28 -0
  42. package/assets/js/jqGrid/js/i18n/grid.locale-no.js +28 -1
  43. package/assets/js/jqGrid/js/i18n/grid.locale-pl.js +28 -0
  44. package/assets/js/jqGrid/js/i18n/grid.locale-pt-br.js +28 -0
  45. package/assets/js/jqGrid/js/i18n/grid.locale-pt.js +28 -0
  46. package/assets/js/jqGrid/js/i18n/grid.locale-ro.js +28 -0
  47. package/assets/js/jqGrid/js/i18n/grid.locale-ru.js +28 -0
  48. package/assets/js/jqGrid/js/i18n/grid.locale-sk.js +28 -0
  49. package/assets/js/jqGrid/js/i18n/grid.locale-sq.js +28 -0
  50. package/assets/js/jqGrid/js/i18n/grid.locale-sr-latin.js +28 -0
  51. package/assets/js/jqGrid/js/i18n/grid.locale-sr.js +28 -0
  52. package/assets/js/jqGrid/js/i18n/grid.locale-sv.js +28 -0
  53. package/assets/js/jqGrid/js/i18n/grid.locale-th.js +28 -0
  54. package/assets/js/jqGrid/js/i18n/grid.locale-tr.js +28 -0
  55. package/assets/js/jqGrid/js/i18n/grid.locale-tw.js +28 -0
  56. package/assets/js/jqGrid/js/i18n/grid.locale-uk.js +28 -0
  57. package/assets/js/jqGrid/js/i18n/grid.locale-vi.js +28 -0
  58. package/assets/js/jqGrid/js/jquery.jqGrid.js +1142 -896
  59. package/assets/js/jqGrid/js/jquery.jqGrid.min.js +2 -2
  60. package/assets/js/jqGrid/js/jquery.jqGrid.min.js.map +1 -1
  61. package/assets/js/jqGrid/js/minified/grid.aria.js +1 -1
  62. package/assets/js/jqGrid/js/minified/grid.base.js +1 -1
  63. package/assets/js/jqGrid/js/minified/grid.celledit.js +1 -1
  64. package/assets/js/jqGrid/js/minified/grid.clipboard.js +1 -0
  65. package/assets/js/jqGrid/js/minified/grid.common.js +1 -1
  66. package/assets/js/jqGrid/js/minified/grid.database.js +1 -1
  67. package/assets/js/jqGrid/js/minified/grid.export.js +1 -1
  68. package/assets/js/jqGrid/js/minified/grid.filter.js +1 -1
  69. package/assets/js/jqGrid/js/minified/grid.formedit.js +1 -1
  70. package/assets/js/jqGrid/js/minified/grid.frozenrows.js +1 -1
  71. package/assets/js/jqGrid/js/minified/grid.grouping.js +1 -1
  72. package/assets/js/jqGrid/js/minified/grid.import.js +1 -1
  73. package/assets/js/jqGrid/js/minified/grid.inlinedit.js +1 -1
  74. package/assets/js/jqGrid/js/minified/grid.jqueryui.js +1 -1
  75. package/assets/js/jqGrid/js/minified/grid.pivot.js +1 -1
  76. package/assets/js/jqGrid/js/minified/grid.subgrid.js +1 -1
  77. package/assets/js/jqGrid/js/minified/grid.transposed.js +1 -1
  78. package/assets/js/jqGrid/js/minified/grid.treegrid.js +1 -1
  79. package/assets/js/jqGrid/js/minified/grid.utils.js +1 -1
  80. package/assets/js/jqGrid/js/minified/i18n/grid.locale-ar.js +1 -1
  81. package/assets/js/jqGrid/js/minified/i18n/grid.locale-bg.js +1 -1
  82. package/assets/js/jqGrid/js/minified/i18n/grid.locale-ca.js +1 -1
  83. package/assets/js/jqGrid/js/minified/i18n/grid.locale-cn.js +1 -1
  84. package/assets/js/jqGrid/js/minified/i18n/grid.locale-cs.js +1 -1
  85. package/assets/js/jqGrid/js/minified/i18n/grid.locale-de.js +1 -1
  86. package/assets/js/jqGrid/js/minified/i18n/grid.locale-dk.js +1 -1
  87. package/assets/js/jqGrid/js/minified/i18n/grid.locale-el.js +1 -1
  88. package/assets/js/jqGrid/js/minified/i18n/grid.locale-en.js +1 -1
  89. package/assets/js/jqGrid/js/minified/i18n/grid.locale-es.js +1 -1
  90. package/assets/js/jqGrid/js/minified/i18n/grid.locale-fa.js +1 -1
  91. package/assets/js/jqGrid/js/minified/i18n/grid.locale-fi.js +1 -1
  92. package/assets/js/jqGrid/js/minified/i18n/grid.locale-fr.js +1 -1
  93. package/assets/js/jqGrid/js/minified/i18n/grid.locale-gl.js +1 -1
  94. package/assets/js/jqGrid/js/minified/i18n/grid.locale-he.js +1 -1
  95. package/assets/js/jqGrid/js/minified/i18n/grid.locale-hr.js +1 -1
  96. package/assets/js/jqGrid/js/minified/i18n/grid.locale-hu.js +1 -1
  97. package/assets/js/jqGrid/js/minified/i18n/grid.locale-id.js +1 -1
  98. package/assets/js/jqGrid/js/minified/i18n/grid.locale-is.js +1 -1
  99. package/assets/js/jqGrid/js/minified/i18n/grid.locale-it.js +1 -1
  100. package/assets/js/jqGrid/js/minified/i18n/grid.locale-ja.js +1 -1
  101. package/assets/js/jqGrid/js/minified/i18n/grid.locale-kr.js +1 -1
  102. package/assets/js/jqGrid/js/minified/i18n/grid.locale-lt.js +1 -1
  103. package/assets/js/jqGrid/js/minified/i18n/grid.locale-me.js +1 -1
  104. package/assets/js/jqGrid/js/minified/i18n/grid.locale-nl.js +1 -1
  105. package/assets/js/jqGrid/js/minified/i18n/grid.locale-no.js +1 -1
  106. package/assets/js/jqGrid/js/minified/i18n/grid.locale-pl.js +1 -1
  107. package/assets/js/jqGrid/js/minified/i18n/grid.locale-pt-br.js +1 -1
  108. package/assets/js/jqGrid/js/minified/i18n/grid.locale-pt.js +1 -1
  109. package/assets/js/jqGrid/js/minified/i18n/grid.locale-ro.js +1 -1
  110. package/assets/js/jqGrid/js/minified/i18n/grid.locale-ru.js +1 -1
  111. package/assets/js/jqGrid/js/minified/i18n/grid.locale-sk.js +1 -1
  112. package/assets/js/jqGrid/js/minified/i18n/grid.locale-sq.js +1 -1
  113. package/assets/js/jqGrid/js/minified/i18n/grid.locale-sr-latin.js +1 -1
  114. package/assets/js/jqGrid/js/minified/i18n/grid.locale-sr.js +1 -1
  115. package/assets/js/jqGrid/js/minified/i18n/grid.locale-sv.js +1 -1
  116. package/assets/js/jqGrid/js/minified/i18n/grid.locale-th.js +1 -1
  117. package/assets/js/jqGrid/js/minified/i18n/grid.locale-tr.js +1 -1
  118. package/assets/js/jqGrid/js/minified/i18n/grid.locale-tw.js +1 -1
  119. package/assets/js/jqGrid/js/minified/i18n/grid.locale-uk.js +1 -1
  120. package/assets/js/jqGrid/js/minified/i18n/grid.locale-vi.js +1 -1
  121. package/assets/js/jqGrid/js/minified/jqDnR.js +1 -1
  122. package/assets/js/jqGrid/js/minified/jqModal.js +1 -1
  123. package/assets/js/jqGrid/js/minified/jquery.fmatter.js +1 -1
  124. package/assets/js/jqGrid/js/minified/jquery.sortable.js +1 -1
  125. package/package.json +1 -1
@@ -196,7 +196,9 @@ $.extend($.jgrid,{
196
196
  onHide: $.jgrid.closeModal,
197
197
  gbox: '',
198
198
  jqm : true,
199
- jqM : true
199
+ jqM : true
200
+ //duration : 400,
201
+ //easing: "swing"
200
202
  }, o || {});
201
203
  var style="";
202
204
  if(o.gbox) {
@@ -255,7 +257,10 @@ $.extend($.jgrid,{
255
257
  buttonalign : 'center',
256
258
  buttons : [],
257
259
  overlay : 10,
258
- overlayClass : ''
260
+ overlayClass : '',
261
+ autoClose : false,
262
+ autoCloseTime: 3500,
263
+ position : ""
259
264
  // {text:'textbutt', id:"buttid", onClick : function(){...}}
260
265
  // if the id is not provided we set it like info_button_+ the index in the array - i.e info_button_0,info_button_1...
261
266
  };
@@ -275,12 +280,12 @@ $.extend($.jgrid,{
275
280
  buttstr += "<a id='"+mopt.buttons[i].id+"' class='fm-button " + common.button+"'>"+mopt.buttons[i].text+"</a>";
276
281
  }
277
282
  }
278
- var dh = isNaN(mopt.dataheight) ? mopt.dataheight : mopt.dataheight+"px",
279
- cn = "text-align:"+mopt.align+";";
283
+ var dh = isNaN(mopt.dataheight) ? mopt.dataheight : mopt.dataheight+"px";
284
+ //cn = "text-align:"+mopt.align+";";
280
285
  var cnt = "<div id='info_id'>";
281
- cnt += "<div id='infocnt' class='"+classes.body+"' style='margin:0px;padding-bottom:1em;width:100%;overflow:auto;position:relative;height:"+dh+";"+cn+"'>"+content+"</div>";
282
- cnt += c_b ? "<div class='" + classes.footer + "' style='text-align:"+mopt.buttonalign+";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'><a id='closedialog' class='fm-button " + common.button + "'>"+c_b+"</a>"+buttstr+"</div>" :
283
- buttstr !== "" ? "<div class='" + classes.footer + "' style='text-align:"+mopt.buttonalign+";padding-bottom:0.8em;padding-top:0.5em;background-image: none;border-width: 1px 0 0 0;'>"+buttstr+"</div>" : "";
286
+ cnt += "<div id='infocnt' class='info_content "+classes.body+"'>"+content+"</div>";
287
+ cnt += c_b ? "<div class='info_footer " + classes.footer + "'><a id='closedialog' class='fm-button " + common.button + "'>"+c_b+"</a>"+buttstr+"</div>" :
288
+ buttstr !== "" ? "<div class='info_footer " + classes.footer + "'>"+buttstr+"</div>" : "";
284
289
  cnt += "</div>";
285
290
 
286
291
  try {
@@ -300,6 +305,43 @@ $.extend($.jgrid,{
300
305
  '','',true,
301
306
  { "font-size":fs}
302
307
  );
308
+ if(mopt.position) {
309
+ var inf_dlg_pos = mopt.position.split(" "), d_clas;
310
+ switch (inf_dlg_pos[0].toLowerCase() + " " + inf_dlg_pos[1].toLowerCase() )
311
+ {
312
+ case 'top left':
313
+ d_clas = 'top-0 start-0';
314
+ break;
315
+ case 'top center':
316
+ d_clas = 'top-0 start-50 translate-middle-x';
317
+ break;
318
+ case 'top right':
319
+ d_clas = 'top-0 end-0';
320
+ break;
321
+ case 'middle left':
322
+ d_clas = 'top-50 start-0 translate-middle-y';
323
+ break;
324
+ case 'middle center':
325
+ d_clas = 'top-50 start-50 translate-middle';
326
+ break;
327
+ case 'middle right':
328
+ d_clas = 'top-50 end-0 translate-middle-y';
329
+ break;
330
+ case 'bottom left':
331
+ d_clas = 'bottom-0 start-0';
332
+ break;
333
+ case 'bottom center':
334
+ d_clas = 'bottom-0 start-50 translate-middle-x';
335
+ break;
336
+ case 'bottom right':
337
+ d_clas = 'bottom-0 end-0';
338
+ break;
339
+ default :
340
+ d_clas = 'top-50 start-50 translate-middle';
341
+ }
342
+ $("#info_dialog").addClass(d_clas).css({"top":"", "left":"", "width":"auto", "max-width": "500px"});
343
+ }
344
+ $(".info_content","#info_id").height(dh);
303
345
  // attach onclick after inserting into the dom
304
346
  if(buttstr) {
305
347
  $.each(mopt.buttons,function(i){
@@ -314,24 +356,64 @@ $.extend($.jgrid,{
314
356
  });
315
357
  return false;
316
358
  });
359
+ if(mopt.autoClose) {
360
+ setTimeout(function() {
361
+ $(".ui-jqdialog-titlebar-close", "#info_head").trigger('click');
362
+ }, mopt.autoCloseTime)
363
+ }
317
364
  $(".fm-button","#info_dialog").hover(
318
365
  function(){$(this).addClass(common.hover);},
319
366
  function(){$(this).removeClass(common.hover);}
320
367
  );
321
368
  if($.jgrid.isFunction(mopt.beforeOpen) ) { mopt.beforeOpen(); }
369
+ if(mopt.type && mopt.type !== "default") {
370
+ $("#info_dialog").addClass("toast-"+mopt.type)
371
+ }
322
372
  $.jgrid.viewModal("#info_dialog",{
323
373
  onHide: function(h) {
324
- h.w.hide().remove();
325
- if(h.o) { h.o.remove(); }
374
+ $.jgrid.closeModal(h);
375
+ h.w.remove();
376
+ //if(h.o) { h.o.remove(); }
326
377
  },
327
378
  modal :mopt.modal,
328
379
  jqm:jm,
329
380
  overlay : mopt.overlay,
330
381
  overlayClass : mopt.overlayClass
382
+ //duration : mopt.duration || 400,
383
+ //easing: mopt.easing || "swing"
331
384
  });
332
385
  if($.jgrid.isFunction(mopt.afterOpen) ) { mopt.afterOpen(); }
333
386
  try{ $("#info_dialog").focus();} catch (m){}
334
387
  },
388
+ toast : function( o ) {
389
+ var opt = {
390
+ caption : "",
391
+ text :"",
392
+ close_icon : true,
393
+ type: "default", //error, warning, info, success
394
+ close_button : '',
395
+ autoClose : true,
396
+ autoCloseTime : 2000,
397
+ drag: false,
398
+ position : "middle center",
399
+ jqModal:false,
400
+ duration:600,
401
+ removemodal : true
402
+ };
403
+ $.extend(true, opt, $.jgrid.jqModal || {}, {caption: opt.caption }, o || {});
404
+ if(!opt.text) {
405
+ return;
406
+ }
407
+ $.jgrid.info_dialog(opt.header, opt.text, opt.close_button, opt);
408
+ if(!opt.caption) {
409
+ $(".ui-jqdialog-titlebar","#info_dialog").hide();
410
+ if(opt.close_icon) {
411
+ var close_but = $(".ui-jqdialog-titlebar-close","#info_dialog").clone(true);
412
+ $(close_but).insertAfter($("#infocnt"));
413
+ $("#info_id").css({"padding-right": "35px", "padding-left": "20px"});
414
+ }
415
+ }
416
+ },
335
417
  bindEv: function (el, opt) {
336
418
  var $t = this;
337
419
  if($.jgrid.isFunction(opt.dataInit)) {
@@ -22,21 +22,27 @@ $.jgrid = $.jgrid || {};
22
22
 
23
23
 
24
24
  $.extend($.jgrid,{
25
- formatCell : function ( cellval , colpos, rwdat, cm, $t, etype){
26
- var v;
25
+ formatCell : function ( cellval , colpos, rwdat, cm, $t, etype, adf, acf){
26
+ var v = cellval;
27
+ if( adf === undefined ) {
28
+ adf = true;
29
+ }
30
+ if( acf === undefined ) {
31
+ acf = true;
32
+ }
27
33
  if(cm.formatter !== undefined) {
28
34
  var opts= {rowId: '', colModel:cm, gid: $t.p.id, pos:colpos, styleUI: '', isExported : true, exporttype : etype };
29
35
  if($.jgrid.isFunction( cm.formatter ) ) {
36
+ if(acf) {
30
37
  v = cm.formatter.call($t,cellval,opts,rwdat);
38
+ }
31
39
  } else if($.fmatter){
40
+ if(adf) {
32
41
  v = $.fn.fmatter.call($t,cm.formatter,cellval,opts,rwdat);
33
- } else {
34
- v = cellval;
35
42
  }
36
- } else {
37
- v = cellval;
38
43
  }
39
- return v;
44
+ }
45
+ return v == null ? '' : v;
40
46
  },
41
47
  formatCellCsv : function (v, p) {
42
48
  v = v == null ? '' : String(v);
@@ -86,6 +92,11 @@ $.extend($.jgrid,{
86
92
  }
87
93
  return currNode;
88
94
  },
95
+ xmlToString : function (xmlDom) {
96
+ return (typeof XMLSerializer!=="undefined") ?
97
+ (new window.XMLSerializer()).serializeToString(xmlDom) :
98
+ xmlDom.xml;
99
+ },
89
100
  xmlToZip : function ( zip, obj ) {
90
101
  var $t = this,
91
102
  xmlserialiser = new XMLSerializer(),
@@ -408,6 +419,12 @@ $.extend($.jgrid,{
408
419
  if( $.isEmptyObject( obj )) {
409
420
  obj.excel_parsers = true;
410
421
  }
422
+ var checkSt = true;
423
+ if(styleSh == null) {
424
+ var es= $.jgrid.excelStrings;
425
+ styleSh = $.parseXML( es['xl/styles.xml']);
426
+ checkSt = false;
427
+ }
411
428
  //var styleSh = $.parseXML( $.jgrid.excelStrings['xl/styles.xml']), //xlsx.xl["styles.xml"];
412
429
  var formats = styleSh.getElementsByTagName("numFmts")[0],
413
430
  celsX = styleSh.getElementsByTagName("cellXfs")[0];
@@ -455,14 +472,18 @@ $.extend($.jgrid,{
455
472
  celsX.appendChild( mycell );
456
473
  count = $('cellXfs xf', styleSh).length;
457
474
  $(celsX).attr("count", count);
458
- obj[style] = count - 1;
475
+ obj[style] = count-1;
476
+ if(!checkSt) {
477
+ es['xl/styles.xml'] = $.jgrid.xmlToString( styleSh );
478
+ }
459
479
  }
460
480
  return obj;
461
481
  },
462
482
  newExcelStyle : function ( xlsx, options ) {
463
483
  options = $.extend(true, {
464
484
  font : { size : 11, name : 'Calibri', options :""}, // options <b/> <i/> <u/>
465
- color : { patternType : "solid", fgColor : "FFFFFFF", bgColor : 64 } // bgColor if number 0-64
485
+ color : { patternType : "solid", fgColor : "FFFFFFF", bgColor : 64 }, // bgColor if number 0-64
486
+ border : 0 //{leftStyle : 'none', rightStyle:'none', topStyle : 'none', bottomStyle : none, color : 'auto'}
466
487
  }, options || {});
467
488
  //PatterType can be one of the following
468
489
  /*
@@ -470,6 +491,14 @@ $.extend($.jgrid,{
470
491
  darkUp,darkVertical,gray0625,gray125,lightDown,lightGray,lightGrid
471
492
  lightHorizontal,lightTrellis,lightUp,lightVertical,mediumGray
472
493
  */
494
+ // border style values can be
495
+ /*
496
+ dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot,
497
+ mediumDashDotDot, mediumDashed, none, slantDashDot, thick, thin
498
+ */
499
+ /* color can be
500
+ auto or string representing rgb value or number from 0-64
501
+ */
473
502
  //styleSheet.childNodes[0].childNodes[0] ==> number formats <numFmts count="6"> </numFmts>
474
503
  //styleSheet.childNodes[0].childNodes[1] ==> fonts <fonts count="5" x14ac:knownFonts="1"> </fonts>
475
504
  //styleSheet.childNodes[0].childNodes[2] ==> fills <fills count="6"> </fills>
@@ -478,10 +507,11 @@ $.extend($.jgrid,{
478
507
  //styleSheet.childNodes[0].childNodes[5] ==> cell xfs <cellXfs count="69"> </cellXfs>
479
508
  //on the last line we have the 69 currently built in styles (0 - 68)
480
509
 
481
- var sSh = xlsx.xl['styles.xml'];
482
- var lastXfIndex = $('cellXfs xf', sSh).length - 1;
483
- var lastFontIndex = $('fonts font', sSh).length - 1;
484
- var lastFillIndex = $('fills fill', sSh).length - 1;
510
+ var sSh = xlsx.xl['styles.xml'],
511
+ lastXfIndex = $('cellXfs xf', sSh).length - 1,
512
+ lastFontIndex = $('fonts font', sSh).length - 1,
513
+ lastFillIndex = $('fills fill', sSh).length - 1,
514
+ lastBorderIndex = $('borders border', sSh).length - 1;
485
515
 
486
516
 
487
517
  var font1 =
@@ -491,9 +521,9 @@ $.extend($.jgrid,{
491
521
  options.font.options +
492
522
  '</font>';
493
523
  sSh.childNodes[0].childNodes[1].innerHTML += font1; //new font
494
- var bgcolor = 'indexed=';
524
+ var bgcolor = 'rgb =';
495
525
  if(parseInt(options.color.bgColor,10) >= 0 ) {
496
- bgcolor = 'rgb=';
526
+ bgcolor = 'indexed =';
497
527
  }
498
528
  bgcolor += '"'+options.color.bgColor+'"';
499
529
  var color1 =
@@ -504,7 +534,37 @@ $.extend($.jgrid,{
504
534
  '</patternFill>'+
505
535
  '</fill>';
506
536
  sSh.childNodes[0].childNodes[2].innerHTML += color1; //new color
507
- var s1 = '<xf numFmtId="0" fontId="'+(lastFontIndex+1)+'" fillId="'+(lastFillIndex+1)+'" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"></xf>';
537
+ if($.isPlainObject(options.border)) {
538
+ options.border = $.extend({leftStyle : 'none', rightStyle:'none', topStyle : 'none', bottomStyle : 'none', color : 'auto'}, options.border || {})
539
+ var bcolor;
540
+ if(options.border.color === 'auto') {
541
+ bcolor = 'auto="1"';
542
+ } else if( $.fmatter.isNumber(options.border.color) ) {
543
+ bcolor = 'indexed="'+options.border.color+'"';
544
+ } else if($.fmatter.isString(options.border.color)) {
545
+ bcolor = 'rgb="'+options.border.color+'"';
546
+ }
547
+ var border1 =
548
+ '<border diagonalUp="false" diagonalDown="false">'+
549
+ '<left style="'+options.border.leftStyle+'">' +
550
+ '<color '+bcolor+' />'+
551
+ '</left>'+
552
+ '<right style="'+options.border.rightStyle+'">' +
553
+ '<color '+bcolor+' />'+
554
+ '</right>'+
555
+ '<top style="'+options.border.topStyle+'">' +
556
+ '<color '+bcolor+' />'+
557
+ '</top>'+
558
+ '<bottom style="'+options.border.bottomStyle+'">' +
559
+ '<color '+bcolor+' />'+
560
+ '</bottom>'+
561
+ '<diagonal />'+
562
+ '</border>';
563
+ sSh.childNodes[0].childNodes[3].innerHTML += border1; //new border
564
+ } else {
565
+ lastBorderIndex = parseInt(options.border,10)-1;
566
+ }
567
+ var s1 = '<xf numFmtId="0" fontId="'+(lastFontIndex+1)+'" fillId="'+(lastFillIndex+1)+'" borderId="'+(lastBorderIndex+1)+'" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"></xf>';
508
568
  sSh.childNodes[0].childNodes[5].innerHTML += s1;
509
569
  return (lastXfIndex + 1);
510
570
  }
@@ -535,7 +595,9 @@ $.jgrid.extend({
535
595
  onBeforeExport : null,
536
596
  treeindent : ' ',
537
597
  visibleTreeNodes : false,
538
- loadIndicator : true // can be a function
598
+ loadIndicator : true, // can be a function
599
+ applyDefFmt : true,
600
+ applyCustFmt : true
539
601
  }, p || {});
540
602
  var ret ="";
541
603
  this.each(function(){
@@ -678,7 +740,7 @@ $.jgrid.extend({
678
740
  for(ik = 0; ik < cm.length; ik++) {
679
741
  if(cm[ik]._expcol) {
680
742
  arr[k] = $.jgrid.formatCellCsv(
681
- $.jgrid.formatCell( $.jgrid.getAccessor(to, cm[ik].name), ik, to, cm[ik], $t, 'csv' ) , p);
743
+ $.jgrid.formatCell( $.jgrid.getAccessor(to, cm[ik].name), ik, to, cm[ik], $t, 'csv', p.applyDefFmt, p.applyCustFmt ) , p);
682
744
  k++;
683
745
  }
684
746
  }
@@ -750,7 +812,7 @@ $.jgrid.extend({
750
812
  k =0;
751
813
  for(i = 0; i < cmlen; i++) {
752
814
  if(cm[i]._expcol) {
753
- tmp[k] = $.jgrid.formatCellCsv( $.jgrid.formatCell( $.jgrid.getAccessor(row, cm[i].name) , i, row, cm[i], $t, 'csv' ), p );
815
+ tmp[k] = $.jgrid.formatCellCsv( $.jgrid.formatCell( $.jgrid.getAccessor(row, cm[i].name) , i, row, cm[i], $t, 'csv', p.applyDefFmt, p.applyCustFmt ), p );
754
816
  k++;
755
817
  }
756
818
  }
@@ -865,7 +927,9 @@ $.jgrid.extend({
865
927
  replaceStr : null,
866
928
  treeindent : ' ',
867
929
  visibleTreeNodes : false,
868
- loadIndicator : true // can be a function
930
+ loadIndicator : true, // can be a function
931
+ applyDefFmt : true,
932
+ applyCustFmt : true
869
933
  }, o || {} );
870
934
  this.each(function() {
871
935
  var $t = this,
@@ -1044,7 +1108,7 @@ $.jgrid.extend({
1044
1108
  }
1045
1109
  if(!header) {
1046
1110
  omit = (i===0 && skipfirstcol);
1047
- v = omit || (skipfirstcol && v==='') ? v : $.jgrid.formatCell( v, data.map[i], row, cm[data.map[i]], $t, 'excel');
1111
+ v = omit || (skipfirstcol && v==='') ? v : $.jgrid.formatCell( v, data.map[i], row, cm[data.map[i]], $t, 'excel', o.applyDefFmt, o.applyCustFmt);
1048
1112
  // convert whitespace from formatter to empty string
1049
1113
  if(v && (v==='&nbsp;' || v==='&#160;' || (v.length===1 && v.charCodeAt(0)===160))) {
1050
1114
  v = '';
@@ -1099,7 +1163,7 @@ $.jgrid.extend({
1099
1163
  break;
1100
1164
  }
1101
1165
  }
1102
- cell = _makeCellSpecial( {r: cellId,s: special.style}, v );
1166
+ cell = _makeCellSpecial( { r: cellId,s: special.style}, v );
1103
1167
  }
1104
1168
  rowNode.appendChild( cell );
1105
1169
  break;
@@ -1520,7 +1584,9 @@ $.jgrid.extend({
1520
1584
  treeindent : "-",
1521
1585
  visibleTreeNodes : false,
1522
1586
  centerTableOnPage : false,
1523
- loadIndicator : true // can be a function
1587
+ loadIndicator : true, // can be a function
1588
+ applyDefFmt : true,
1589
+ applyCustFmt : true
1524
1590
 
1525
1591
  }, o || {} );
1526
1592
  return this.each(function() {
@@ -1554,7 +1620,7 @@ $.jgrid.extend({
1554
1620
  ommit = !(key === 0 && skipfirstcol);// ? false : true;
1555
1621
  val = row[def[key]];
1556
1622
  obj = {
1557
- text: val == null || val === '' ? '' : (fmt && ommit ? $.jgrid.formatCell( val + '', map[k], data[i], cm[map[k]], $t, 'pdf') : val),
1623
+ text: fmt && ommit ? $.jgrid.formatCell( val + '', map[k], data[i], cm[map[k]], $t, 'pdf', o.applyDefFmt, o.applyCustFmt) : val,
1558
1624
  alignment : align[key],
1559
1625
  style : 'tableBody'
1560
1626
  };
@@ -1832,7 +1898,7 @@ $.jgrid.extend({
1832
1898
  row = data[i];
1833
1899
  for( key = 0;key < def.length; key++ ) {
1834
1900
  obj = {
1835
- text: row[def[key]] == null ? '' : $.jgrid.stripHtml($.jgrid.formatCell( $.jgrid.getAccessor(row, def[key]) + '', map[k], data[i], cm[map[k]], $t, 'pdf')),
1901
+ text: $.jgrid.stripHtml($.jgrid.formatCell( $.jgrid.getAccessor(row, def[key]) + '', map[k], data[i], cm[map[k]], $t, 'pdf', o.applyDefFmt, o.applyCustFmt)),
1836
1902
  alignment : align[def[key]],
1837
1903
  style : 'tableBody'
1838
1904
  };
@@ -1971,7 +2037,9 @@ $.jgrid.extend({
1971
2037
  returnAsString : false,
1972
2038
  treeindent : '&nbsp;',
1973
2039
  visibleTreeNodes : false,
1974
- loadIndicator : true // can be a function
2040
+ loadIndicator : true, // can be a function
2041
+ applyDefFmt : true,
2042
+ applyCustFmt : true
1975
2043
  }, o || {} );
1976
2044
  var ret;
1977
2045
  this.each(function() {
@@ -2053,7 +2121,7 @@ $.jgrid.extend({
2053
2121
  }
2054
2122
  f= data.header[i];
2055
2123
  if (d.hasOwnProperty(f) ) {
2056
- str += '<'+tag+stl+'>'+ (frm ? $.jgrid.formatCell( $.jgrid.getAccessor( d, f ), data.map[i], d, cm[data.map[i]], $t, 'html') : d[f])+'</'+tag+'>';
2124
+ str += '<'+tag+stl+'>'+ (frm ? $.jgrid.formatCell( $.jgrid.getAccessor( d, f ), data.map[i], d, cm[data.map[i]], $t, 'html', o.applyDefFmt, o.applyCustFmt) : d[f])+'</'+tag+'>';
2057
2125
  }
2058
2126
  if(colsp) {
2059
2127
  break;
@@ -884,13 +884,7 @@ $.jgrid.extend({
884
884
  var $elem, fcol = false;
885
885
  nm = this.index || this.name;
886
886
  sop = this.searchoptions || {};
887
-
888
- if(this.frozen===true && $t.p.frozenColumns === true) {
889
- $elem = $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(this.name), $t.grid.fhDiv );
890
- fcol = true;
891
- } else {
892
887
  $elem = $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(this.name), $t.grid.hDiv);
893
- }
894
888
  //var $elem = $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(this.name), ? $t.grid.fhDiv : $t.grid.hDiv);
895
889
  // in case frozen col is outside the rule list
896
890
  if($elem[0] === undefined) {
@@ -935,7 +929,7 @@ $.jgrid.extend({
935
929
  if(so==="bt") {
936
930
  bbt = true;
937
931
  }
938
- if(fcol && (nm !== 'cb' && nm!== 'rn' && nm !== 'subgrid' && nm !== 'sc') ) {
932
+ if( !$.jgrid.isServiceCol( nm ) /*(nm !== 'cb' && nm!== 'rn' && nm !== 'subgrid' && nm !== 'sc')*/ ) {
939
933
  afrcol[nm] = v;
940
934
  }
941
935
  if(v || so==="nu" || so==="nn" || $.inArray(so, unaryOpers) >=0) {
@@ -1045,21 +1039,19 @@ $.jgrid.extend({
1045
1039
  saveurl = $t.p.url;
1046
1040
  $($t).jqGrid("setGridParam", { url: p.url });
1047
1041
  }
1042
+ var ae = document.activeElement;
1048
1043
  var bsr = $($t).triggerHandler("jqGridToolbarBeforeSearch") === 'stop' ? true : false;
1049
1044
  if(!bsr && $.jgrid.isFunction(p.beforeSearch)){bsr = p.beforeSearch.call($t);}
1050
1045
  if(!bsr) { $($t).jqGrid("setGridParam",{search:sd}).trigger("reloadGrid",[ { page: currentPage } ] ); }
1051
1046
  if(saveurl) {$($t).jqGrid("setGridParam",{url:saveurl});}
1052
1047
  $($t).triggerHandler("jqGridToolbarAfterSearch");
1053
1048
  if($.jgrid.isFunction(p.afterSearch)){p.afterSearch.call($t);}
1054
- if($t.p.frozenColumns) {
1055
- setToolbarFozenVal(afrcol,sopt,ssfield, arcustom );
1056
- }
1057
1049
  },
1058
1050
  clearToolbar = function(trigger){
1059
1051
  var sdata={}, so={}, j=0, nm, $elem, v;
1060
1052
  trigger = (typeof trigger !== 'boolean') ? true : trigger;
1061
1053
  $.each($t.p.colModel,function(){
1062
- $elem = $("#gs_"+$t.p.idPrefix+$.jgrid.jqID(this.name),(this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv);
1054
+ $elem = $("#gs_"+$t.p.idPrefix+$.jgrid.jqID(this.name), $t.grid.hDiv);
1063
1055
  if(this.searchoptions && this.searchoptions.defaultValue !== undefined) {
1064
1056
  v = this.searchoptions.defaultValue;
1065
1057
  } else {
@@ -1117,7 +1109,7 @@ $.jgrid.extend({
1117
1109
  ruleGroup += "\"data\":\"" + n.replace(/\\/g,'\\\\').replace(/\"/g,'\\"') + "\"}";
1118
1110
  gi++;
1119
1111
  if(p.searchOperators) {
1120
- $elem = $("#gs_"+$t.p.idPrefix+$.jgrid.jqID(i),(this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv);
1112
+ $elem = $("#gs_"+$t.p.idPrefix+$.jgrid.jqID(i), $t.grid.hDiv);
1121
1113
  $elem.parents("table.ui-search-table").find("td.ui-search-oper").children("a").attr("soper", so[i]).html(p.operands[so[i]]);
1122
1114
  }
1123
1115
  });
@@ -1158,17 +1150,11 @@ $.jgrid.extend({
1158
1150
  },
1159
1151
  toggleToolbar = function(){
1160
1152
  var trow = $("tr.ui-search-toolbar",$t.grid.hDiv);
1161
- if($t.p.frozenColumns === true) {
1162
- $($t).jqGrid('destroyFrozenColumns');
1163
- }
1164
1153
  if(trow.css("display") === 'none') {
1165
1154
  trow.show();
1166
1155
  } else {
1167
1156
  trow.hide();
1168
1157
  }
1169
- if($t.p.frozenColumns === true) {
1170
- $($t).jqGrid("setFrozenColumns");
1171
- }
1172
1158
  },
1173
1159
  buildRuleMenu = function( elem, left, top ){
1174
1160
  $("#sopt_menu").remove();
@@ -1217,38 +1203,6 @@ $.jgrid.extend({
1217
1203
  }
1218
1204
  }
1219
1205
  });
1220
- },
1221
- setToolbarFozenVal = function( ffields, soper, smultiselect, arcustom) {
1222
- var orgCol = $(".ui-search-toolbar", $t.grid.hDiv),
1223
- frozenCol = $(".ui-search-toolbar", $t.grid.fhDiv);
1224
- $.each(ffields, function(i,n){
1225
- // multiselect
1226
- // operations
1227
- if(p.searchOperators) {
1228
- var oper = soper[i];
1229
- if(oper) {
1230
- $(".ui-search-table .ui-search-oper [colname='userId']", orgCol).attr({'soper': oper}).text( p.operands[oper]);
1231
- $(".ui-search-table .ui-search-oper [colname='userId']", frozenCol).attr({'soper': oper}).text( p.operands[oper]);
1232
- }
1233
- }
1234
- // custom element
1235
- if( $.inArray(i, arcustom) > -1) {
1236
- var col = $.jgrid.getElemByAttrVal( $t.p.colModel, 'name', i );
1237
- if ( col && col.searchoptions ) {
1238
- var soptf = col.searchoptions || {};
1239
- if( $.jgrid.isFunction( soptf.custom_value ) ) {
1240
- var $elem = $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(i), $t.grid.fhDiv ),
1241
- $elem2 = $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(i), $t.grid.hDiv);
1242
-
1243
- soptf.custom_value.call($t, $elem, "set", n);
1244
- soptf.custom_value.call($t, $elem2, "set", n);
1245
- }
1246
- }
1247
- } else {
1248
- $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(i), orgCol).val( n );
1249
- $("#gs_"+ $t.p.idPrefix + $.jgrid.jqID(i), frozenCol).val( n );
1250
- }
1251
- });
1252
1206
  };
1253
1207
  // create the row
1254
1208
  var tr = $("<tr class='ui-search-toolbar' role='row'></tr>"),
@@ -636,6 +636,9 @@ $.jgrid.extend({
636
636
  }
637
637
  rp_ge[$t.p.id].processing=false;
638
638
  try{$(':input:visible',frmgr)[0].focus();} catch (e){}
639
+ },
640
+ complete : function() {
641
+ rp_ge[$t.p.id].processing=false;
639
642
  }
640
643
  }, $.jgrid.ajaxOptions, rp_ge[$t.p.id].ajaxEditOptions );
641
644
 
@@ -1738,7 +1741,7 @@ $.jgrid.extend({
1738
1741
  else {
1739
1742
  if(ajaxOptions.url === "clientArray") {
1740
1743
  postd = ajaxOptions.data;
1741
- ajaxOptions.success({status:200, statusText:''},'');
1744
+ ajaxOptions.success(postdata,'',{status:200, statusText:''});
1742
1745
  } else if( ajaxOptions.url === "storage") {
1743
1746
  $($t).jqGrid('deleteStorageRecord', postdata)
1744
1747
  .then(function(e){