jquery-datatables 1.10.15 → 1.10.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -16
  3. data/Rakefile +46 -27
  4. data/app/assets/javascripts/datatables/dataTables.bootstrap4.js +3 -3
  5. data/app/assets/javascripts/datatables/dataTables.jqueryui.js +6 -6
  6. data/app/assets/javascripts/datatables/extensions/AutoFill/dataTables.autoFill.js +5 -5
  7. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap.js +3 -1
  8. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap4.js +3 -1
  9. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.colVis.js +2 -1
  10. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.flash.js +74 -69
  11. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.foundation.js +3 -1
  12. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.html5.js +86 -63
  13. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.print.js +16 -22
  14. data/app/assets/javascripts/datatables/extensions/Buttons/dataTables.buttons.js +131 -3
  15. data/app/assets/javascripts/datatables/extensions/ColReorder/dataTables.colReorder.js +12 -6
  16. data/app/assets/javascripts/datatables/extensions/FixedColumns/dataTables.fixedColumns.js +8 -5
  17. data/app/assets/javascripts/datatables/extensions/FixedHeader/dataTables.fixedHeader.js +14 -9
  18. data/app/assets/javascripts/datatables/extensions/KeyTable/dataTables.keyTable.js +103 -8
  19. data/app/assets/javascripts/datatables/extensions/Responsive/dataTables.responsive.js +106 -6
  20. data/app/assets/javascripts/datatables/extensions/Responsive/responsive.bootstrap4.js +1 -1
  21. data/app/assets/javascripts/datatables/extensions/RowGroup/dataTables.rowGroup.js +8 -6
  22. data/app/assets/javascripts/datatables/extensions/RowReorder/dataTables.rowReorder.js +68 -35
  23. data/app/assets/javascripts/datatables/extensions/Scroller/dataTables.scroller.js +71 -10
  24. data/app/assets/javascripts/datatables/extensions/Select/dataTables.select.js +11 -7
  25. data/app/assets/javascripts/datatables/jquery.dataTables.js +19 -121
  26. data/app/assets/stylesheets/datatables/dataTables.bootstrap.scss +252 -0
  27. data/app/assets/stylesheets/datatables/{dataTables.bootstrap2.css → dataTables.bootstrap2.scss} +6 -6
  28. data/app/assets/stylesheets/datatables/dataTables.bootstrap4.scss +262 -0
  29. data/app/assets/stylesheets/datatables/dataTables.foundation.scss +154 -0
  30. data/app/assets/stylesheets/datatables/dataTables.jqueryui.scss +93 -0
  31. data/app/assets/stylesheets/datatables/dataTables.material.scss +101 -0
  32. data/app/assets/stylesheets/datatables/dataTables.semanticui.scss +138 -0
  33. data/app/assets/stylesheets/datatables/dataTables.uikit.scss +195 -0
  34. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap.scss +8 -0
  35. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap4.scss +8 -0
  36. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.scss +125 -0
  37. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.foundation.scss +13 -0
  38. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.jqueryui.scss +10 -0
  39. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.semanticui.scss +8 -0
  40. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.scss +40 -0
  41. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.scss +53 -0
  42. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.scss +141 -0
  43. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.scss +82 -0
  44. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.scss +98 -0
  45. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.scss +53 -0
  46. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap.scss +4 -0
  47. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap4.scss +4 -0
  48. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.dataTables.scss +17 -0
  49. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.foundation.scss +4 -0
  50. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.jqueryui.scss +2 -0
  51. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.semanticui.scss +4 -0
  52. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.scss +50 -0
  53. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap4.scss +11 -0
  54. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.dataTables.scss +22 -0
  55. data/app/assets/stylesheets/datatables/extensions/FixedColumns/{fixedColumns.foundation.css → fixedColumns.foundation.scss} +15 -6
  56. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.jqueryui.scss +16 -0
  57. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.semanticui.scss +41 -0
  58. data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.bootstrap4.css → fixedHeader.bootstrap.scss} +6 -5
  59. data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.foundation.css → fixedHeader.bootstrap4.scss} +6 -5
  60. data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.dataTables.scss +21 -0
  61. data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.bootstrap.css → fixedHeader.foundation.scss} +6 -5
  62. data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.semanticui.css → fixedHeader.jqueryui.scss} +7 -3
  63. data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.semanticui.scss +16 -0
  64. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap.scss +4 -0
  65. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap4.scss +4 -0
  66. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.scss +10 -0
  67. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.foundation.scss +4 -0
  68. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.jqueryui.scss +2 -0
  69. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.semanticui.scss +4 -0
  70. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap.scss +8 -0
  71. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap4.scss +9 -0
  72. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.dataTables.scss +240 -0
  73. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.foundation.scss +10 -0
  74. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.jqueryui.scss +2 -0
  75. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.semanticui.scss +9 -0
  76. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap.scss +2 -0
  77. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap4.scss +2 -0
  78. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.scss +9 -0
  79. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.foundation.scss +2 -0
  80. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.jqueryui.scss +2 -0
  81. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.semanticui.scss +4 -0
  82. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap.scss +5 -0
  83. data/app/assets/stylesheets/datatables/extensions/RowReorder/{semanticui.scss → rowReorder.bootstrap4.scss} +0 -0
  84. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.dataTables.scss +26 -0
  85. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.foundation.scss +5 -0
  86. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.jqueryui.scss +2 -0
  87. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.semanticui.scss +5 -0
  88. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap.scss +9 -0
  89. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap4.scss +9 -0
  90. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.scss +36 -0
  91. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.foundation.scss +31 -0
  92. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.jqueryui.scss +2 -0
  93. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.semanticui.scss +2 -0
  94. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap.scss +17 -0
  95. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap4.scss +17 -0
  96. data/app/assets/stylesheets/datatables/extensions/Select/select.dataTables.scss +143 -0
  97. data/app/assets/stylesheets/datatables/extensions/Select/select.foundation.scss +18 -0
  98. data/app/assets/stylesheets/datatables/extensions/Select/select.jqueryui.scss +4 -0
  99. data/app/assets/stylesheets/datatables/extensions/Select/select.semanticui.scss +14 -0
  100. data/app/assets/stylesheets/datatables/jquery.dataTables.scss +599 -0
  101. data/lib/generators/jquery/datatables/install_generator.rb +1 -1
  102. data/lib/generators/jquery/datatables/templates/bootstrap.js.tt +3 -1
  103. data/lib/generators/jquery/datatables/templates/bootstrap.scss.tt +15 -0
  104. data/lib/generators/jquery/datatables/templates/bootstrap4.js.tt +3 -1
  105. data/lib/generators/jquery/datatables/templates/bootstrap4.scss.tt +15 -0
  106. data/lib/generators/jquery/datatables/templates/foundation.js.tt +4 -4
  107. data/lib/generators/jquery/datatables/templates/foundation.scss.tt +33 -0
  108. data/lib/generators/jquery/datatables/templates/jqueryui.js.tt +7 -1
  109. data/lib/generators/jquery/datatables/templates/jqueryui.scss.tt +15 -0
  110. data/lib/generators/jquery/datatables/templates/material.js.tt +3 -1
  111. data/lib/generators/jquery/datatables/templates/material.scss.tt +1 -0
  112. data/lib/generators/jquery/datatables/templates/regular.js.tt +4 -3
  113. data/lib/generators/jquery/datatables/templates/regular.scss.tt +33 -0
  114. data/lib/generators/jquery/datatables/templates/semanticui.js.tt +4 -2
  115. data/lib/generators/jquery/datatables/templates/semanticui.scss.tt +15 -0
  116. data/lib/generators/jquery/datatables/templates/uikit.js.tt +4 -2
  117. data/lib/generators/jquery/datatables/templates/uikit.scss.tt +1 -0
  118. data/lib/jquery-datatables/version.rb +1 -1
  119. metadata +86 -90
  120. data/app/assets/stylesheets/datatables/dataTables.bootstrap.css +0 -184
  121. data/app/assets/stylesheets/datatables/dataTables.bootstrap4.css +0 -194
  122. data/app/assets/stylesheets/datatables/dataTables.foundation.css +0 -118
  123. data/app/assets/stylesheets/datatables/dataTables.jqueryui.css +0 -482
  124. data/app/assets/stylesheets/datatables/dataTables.material.css +0 -87
  125. data/app/assets/stylesheets/datatables/dataTables.semanticui.css +0 -102
  126. data/app/assets/stylesheets/datatables/dataTables.uikit.css +0 -146
  127. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap.css +0 -81
  128. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap4.css +0 -81
  129. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.css +0 -92
  130. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.foundation.css +0 -85
  131. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.jqueryui.css +0 -85
  132. data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.semanticui.css +0 -81
  133. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.css +0 -158
  134. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.css +0 -219
  135. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.css +0 -354
  136. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.css +0 -189
  137. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.css +0 -218
  138. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.css +0 -171
  139. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap.css +0 -11
  140. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap4.css +0 -11
  141. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.dataTables.css +0 -11
  142. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.foundation.css +0 -11
  143. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.jqueryui.css +0 -11
  144. data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.semanticui.css +0 -11
  145. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.css +0 -44
  146. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap4.css +0 -44
  147. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.dataTables.css +0 -18
  148. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.jqueryui.css +0 -8
  149. data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.semanticui.css +0 -16
  150. data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.dataTables.css +0 -19
  151. data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.jqueryui.css +0 -15
  152. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap.css +0 -5
  153. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap4.css +0 -5
  154. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.css +0 -5
  155. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.foundation.css +0 -5
  156. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.jqueryui.css +0 -5
  157. data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.semanticui.css +0 -5
  158. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap.css +0 -181
  159. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap4.css +0 -181
  160. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.dataTables.css +0 -178
  161. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.foundation.css +0 -181
  162. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.jqueryui.css +0 -178
  163. data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.semanticui.css +0 -181
  164. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap.css +0 -4
  165. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap4.css +0 -4
  166. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.css +0 -4
  167. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.foundation.css +0 -4
  168. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.jqueryui.css +0 -4
  169. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.semanticui.css +0 -4
  170. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap.css +0 -22
  171. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap4.css +0 -22
  172. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.dataTables.css +0 -22
  173. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.foundation.css +0 -22
  174. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.jqueryui.css +0 -22
  175. data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.semanticui.css +0 -22
  176. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap.css +0 -24
  177. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap4.css +0 -24
  178. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.css +0 -20
  179. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.foundation.css +0 -17
  180. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.jqueryui.css +0 -20
  181. data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.semanticui.css +0 -20
  182. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap.css +0 -115
  183. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap4.css +0 -115
  184. data/app/assets/stylesheets/datatables/extensions/Select/select.dataTables.css +0 -105
  185. data/app/assets/stylesheets/datatables/extensions/Select/select.foundation.css +0 -117
  186. data/app/assets/stylesheets/datatables/extensions/Select/select.jqueryui.css +0 -105
  187. data/app/assets/stylesheets/datatables/extensions/Select/select.semanticui.css +0 -110
  188. data/app/assets/stylesheets/datatables/jquery.dataTables.css +0 -455
  189. data/app/assets/stylesheets/datatables/jquery.dataTables_themeroller.css +0 -416
  190. data/lib/generators/jquery/datatables/templates/bootstrap.css.tt +0 -15
  191. data/lib/generators/jquery/datatables/templates/bootstrap2.css.tt +0 -15
  192. data/lib/generators/jquery/datatables/templates/bootstrap2.js.tt +0 -22
  193. data/lib/generators/jquery/datatables/templates/bootstrap4.css.tt +0 -15
  194. data/lib/generators/jquery/datatables/templates/foundation.css.tt +0 -15
  195. data/lib/generators/jquery/datatables/templates/jqueryui.css.tt +0 -15
  196. data/lib/generators/jquery/datatables/templates/material.css.tt +0 -15
  197. data/lib/generators/jquery/datatables/templates/regular.css.tt +0 -15
  198. data/lib/generators/jquery/datatables/templates/semanticui.css.tt +0 -16
  199. data/lib/generators/jquery/datatables/templates/uikit.css.tt +0 -15
@@ -1,15 +1,15 @@
1
- /*! ColReorder 1.3.3
2
- * ©2010-2015 SpryMedia Ltd - datatables.net/license
1
+ /*! ColReorder 1.4.1
2
+ * ©2010-2017 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary ColReorder
7
7
  * @description Provide the ability to reorder columns in a DataTable
8
- * @version 1.3.3
8
+ * @version 1.4.1
9
9
  * @file dataTables.colReorder.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
12
- * @copyright Copyright 2010-2014 SpryMedia Ltd.
12
+ * @copyright Copyright 2010-2017 SpryMedia Ltd.
13
13
  *
14
14
  * This source file is free software, available under the following license:
15
15
  * MIT license - http://datatables.net/license/mit
@@ -889,7 +889,6 @@ $.extend( ColReorder.prototype, {
889
889
  var that = this;
890
890
  $(nTh)
891
891
  .on( 'mousedown.ColReorder', function (e) {
892
- e.preventDefault();
893
892
  that._fnMouseDown.call( that, e, nTh );
894
893
  } )
895
894
  .on( 'touchstart.ColReorder', function (e) {
@@ -1260,7 +1259,7 @@ ColReorder.defaults = {
1260
1259
  * @type String
1261
1260
  * @default As code
1262
1261
  */
1263
- ColReorder.version = "1.3.3";
1262
+ ColReorder.version = "1.4.1";
1264
1263
 
1265
1264
 
1266
1265
 
@@ -1348,6 +1347,13 @@ $.fn.dataTable.Api.register( 'colReorder.transpose()', function ( idx, dir ) {
1348
1347
  idx;
1349
1348
  } );
1350
1349
 
1350
+ $.fn.dataTable.Api.register( 'colReorder.move()', function( from, to, drop, invalidateRows ) {
1351
+ if (this.context.length) {
1352
+ this.context[0]._colReorder.s.dt.oInstance.fnColReorder( from, to, drop, invalidateRows );
1353
+ }
1354
+ return this;
1355
+ } );
1356
+
1351
1357
 
1352
1358
  return ColReorder;
1353
1359
  }));
@@ -1,11 +1,11 @@
1
- /*! FixedColumns 3.2.2
1
+ /*! FixedColumns 3.2.3
2
2
  * ©2010-2016 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary FixedColumns
7
7
  * @description Freeze columns in place on a scrolling DataTable
8
- * @version 3.2.2
8
+ * @version 3.2.3
9
9
  * @file dataTables.fixedColumns.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
@@ -54,7 +54,7 @@ var _firefoxScroll;
54
54
  * When making use of DataTables' x-axis scrolling feature, you may wish to
55
55
  * fix the left most column in place. This plug-in for DataTables provides
56
56
  * exactly this option (note for non-scrolling tables, please use the
57
- * FixedHeader plug-in, which can fix headers, footers and columns). Key
57
+ * FixedHeader plug-in, which can fix headers and footers). Key
58
58
  * features include:
59
59
  *
60
60
  * * Freezes the left or right most columns to the side of the table
@@ -877,6 +877,7 @@ $.extend( FixedColumns.prototype , {
877
877
 
878
878
  scrollbarAdjust( oGrid.left.liner, iLeftWidth );
879
879
  oGrid.left.liner.style.height = iBodyHeight+"px";
880
+ oGrid.left.liner.style.maxHeight = iBodyHeight+"px";
880
881
  }
881
882
 
882
883
  if ( this.s.iRightColumns > 0 )
@@ -902,6 +903,7 @@ $.extend( FixedColumns.prototype , {
902
903
 
903
904
  scrollbarAdjust( oGrid.right.liner, iRightWidth );
904
905
  oGrid.right.liner.style.height = iBodyHeight+"px";
906
+ oGrid.right.liner.style.maxHeight = iBodyHeight+"px";
905
907
 
906
908
  oGrid.right.headBlock.style.display = oOverflow.y ? 'block' : 'none';
907
909
  oGrid.right.footBlock.style.display = oOverflow.y ? 'block' : 'none';
@@ -1216,8 +1218,9 @@ $.extend( FixedColumns.prototype , {
1216
1218
  if ( aTds.length > 0 )
1217
1219
  {
1218
1220
  nClone = $( aTds[iColumn] ).clone(true, true)[0];
1221
+ nClone.removeAttribute( 'id' );
1219
1222
  nClone.setAttribute( 'data-dt-row', i );
1220
- nClone.setAttribute( 'data-dt-column', iIndex );
1223
+ nClone.setAttribute( 'data-dt-column', dt.oApi._fnVisibleToColumnIndex( dt, iColumn ) );
1221
1224
  n.appendChild( nClone );
1222
1225
  }
1223
1226
  }
@@ -1516,7 +1519,7 @@ FixedColumns.defaults = /** @lends FixedColumns.defaults */{
1516
1519
  * @default See code
1517
1520
  * @static
1518
1521
  */
1519
- FixedColumns.version = "3.2.2";
1522
+ FixedColumns.version = "3.2.3";
1520
1523
 
1521
1524
 
1522
1525
 
@@ -1,16 +1,16 @@
1
- /*! FixedHeader 3.1.2
2
- * ©2009-2016 SpryMedia Ltd - datatables.net/license
1
+ /*! FixedHeader 3.1.3
2
+ * ©2009-2017 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary FixedHeader
7
7
  * @description Fix a table's header or footer, so it is always visible while
8
8
  * scrolling
9
- * @version 3.1.2
9
+ * @version 3.1.3
10
10
  * @file dataTables.fixedHeader.js
11
11
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
12
12
  * @contact www.sprymedia.co.uk/contact
13
- * @copyright Copyright 2009-2016 SpryMedia Ltd.
13
+ * @copyright Copyright 2009-2017 SpryMedia Ltd.
14
14
  *
15
15
  * This source file is free software, available under the following license:
16
16
  * MIT license - http://datatables.net/license/mit
@@ -285,7 +285,11 @@ $.extend( FixedHeader.prototype, {
285
285
  .appendTo( 'body' );
286
286
 
287
287
  // Insert a fake thead/tfoot into the DataTable to stop it jumping around
288
- itemDom.placeholder = itemElement.clone( false );
288
+ itemDom.placeholder = itemElement.clone( false )
289
+ itemDom.placeholder
290
+ .find( '*[id]' )
291
+ .removeAttr( 'id' );
292
+
289
293
  itemDom.host.prepend( itemDom.placeholder );
290
294
 
291
295
  // Clone widths
@@ -571,7 +575,7 @@ $.extend( FixedHeader.prototype, {
571
575
  * @type {String}
572
576
  * @static
573
577
  */
574
- FixedHeader.version = "3.1.2";
578
+ FixedHeader.version = "3.1.3";
575
579
 
576
580
  /**
577
581
  * Defaults
@@ -631,8 +635,9 @@ DataTable.Api.register( 'fixedHeader.enable()', function ( flag ) {
631
635
  return this.iterator( 'table', function ( ctx ) {
632
636
  var fh = ctx._fixedHeader;
633
637
 
634
- if ( fh ) {
635
- fh.enable( flag !== undefined ? flag : true );
638
+ flag = ( flag !== undefined ? flag : true );
639
+ if ( fh && flag !== fh.s.enable ) {
640
+ fh.enable( flag );
636
641
  }
637
642
  } );
638
643
  } );
@@ -641,7 +646,7 @@ DataTable.Api.register( 'fixedHeader.disable()', function ( ) {
641
646
  return this.iterator( 'table', function ( ctx ) {
642
647
  var fh = ctx._fixedHeader;
643
648
 
644
- if ( fh ) {
649
+ if ( fh && fh.s.enable ) {
645
650
  fh.enable( false );
646
651
  }
647
652
  } );
@@ -1,15 +1,15 @@
1
- /*! KeyTable 2.2.1
2
- * ©2009-2016 SpryMedia Ltd - datatables.net/license
1
+ /*! KeyTable 2.3.2
2
+ * ©2009-2017 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary KeyTable
7
7
  * @description Spreadsheet like keyboard navigation for DataTables
8
- * @version 2.2.1
8
+ * @version 2.3.2
9
9
  * @file dataTables.keyTable.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
12
- * @copyright Copyright 2009-2016 SpryMedia Ltd.
12
+ * @copyright Copyright 2009-2017 SpryMedia Ltd.
13
13
  *
14
14
  * This source file is free software, available under the following license:
15
15
  * MIT license - http://datatables.net/license/mit
@@ -226,6 +226,27 @@ $.extend( KeyTable.prototype, {
226
226
  }
227
227
 
228
228
  if ( this.c.editor ) {
229
+ var editor = this.c.editor;
230
+
231
+ // Need to disable KeyTable when the main editor is shown
232
+ editor.on( 'open.keyTableMain', function (e, mode, action) {
233
+ if ( mode !== 'inline' && that.s.enable ) {
234
+ that.enable( false );
235
+
236
+ editor.one( 'close.keyTable', function () {
237
+ that.enable( true );
238
+ } );
239
+ }
240
+ } );
241
+
242
+ if ( this.c.editOnFocus ) {
243
+ dt.on( 'key-focus.keyTable key-refocus.keyTable', function ( e, dt, cell, orig ) {
244
+ that._editor( null, orig );
245
+ } );
246
+ }
247
+
248
+ // Activate Editor when a key is pressed (will be ignored, if
249
+ // already active).
229
250
  dt.on( 'key.keyTable', function ( e, dt, key, cell, orig ) {
230
251
  that._editor( key, orig );
231
252
  } );
@@ -321,6 +342,46 @@ $.extend( KeyTable.prototype, {
321
342
  this._emitEvent( 'key-blur', [ this.s.dt, cell ] );
322
343
  },
323
344
 
345
+ /**
346
+ * Copy text from the focused cell to clipboard
347
+ *
348
+ * @private
349
+ */
350
+ _clipboardCopy: function ()
351
+ {
352
+ var dt = this.s.dt;
353
+
354
+ // If there is a cell focused, and there is no other text selected
355
+ // allow the focused cell's text to be copied to clipboard
356
+ if ( this.s.lastFocus && window.getSelection && !window.getSelection().toString() ) {
357
+ var cell = this.s.lastFocus.cell;
358
+ var text = cell.render('display');
359
+ var hiddenDiv = $('<div/>')
360
+ .css( {
361
+ height: 1,
362
+ width: 1,
363
+ overflow: 'hidden',
364
+ position: 'fixed',
365
+ top: 0,
366
+ left: 0
367
+ } );
368
+ var textarea = $('<textarea readonly/>')
369
+ .val( text )
370
+ .appendTo( hiddenDiv );
371
+
372
+ try {
373
+ hiddenDiv.appendTo( dt.table().container() );
374
+ textarea[0].focus();
375
+ textarea[0].select();
376
+
377
+ document.execCommand( 'copy' );
378
+ }
379
+ catch (e) {}
380
+
381
+ hiddenDiv.remove();
382
+ }
383
+ },
384
+
324
385
 
325
386
  /**
326
387
  * Get an array of the column indexes that KeyTable can operate on. This
@@ -358,6 +419,11 @@ $.extend( KeyTable.prototype, {
358
419
  var dt = this.s.dt;
359
420
  var editor = this.c.editor;
360
421
 
422
+ // Do nothing if there is already an inline edit in this cell
423
+ if ( $('div.DTE', this.s.lastFocus.cell.node()).length ) {
424
+ return;
425
+ }
426
+
361
427
  // Don't activate inline editing when the shift key is pressed
362
428
  if ( key === 16 ) {
363
429
  return;
@@ -365,7 +431,7 @@ $.extend( KeyTable.prototype, {
365
431
 
366
432
  orig.stopPropagation();
367
433
 
368
- // Return key should do nothing - for textareas's it would empty the
434
+ // Return key should do nothing - for textareas it would empty the
369
435
  // contents
370
436
  if ( key === 13 ) {
371
437
  orig.preventDefault();
@@ -377,7 +443,9 @@ $.extend( KeyTable.prototype, {
377
443
  editor.off( 'cancelOpen.keyTable' );
378
444
 
379
445
  // Excel style - select all text
380
- $('div.DTE input, div.DTE textarea').select();
446
+ if ( that.c.editAutoSelect ) {
447
+ $('div.DTE_Field_InputControl input, div.DTE_Field_InputControl textarea').select();
448
+ }
381
449
 
382
450
  // Reduce the keys the Keys listens for
383
451
  dt.keys.enable( that.c.editorKeys );
@@ -492,11 +560,15 @@ $.extend( KeyTable.prototype, {
492
560
  row -= pageInfo.start;
493
561
  }
494
562
 
495
- var cell = dt.cell( ':eq('+row+')', column, {search: 'applied'} );
563
+ // Get the cell from the current position - ignoring any cells which might
564
+ // not have been rendered (therefore can't use `:eq()` selector).
565
+ var cells = dt.cells( null, column, {search: 'applied', order: 'applied'} ).flatten();
566
+ var cell = dt.cell( cells[ row ] );
496
567
 
497
568
  if ( lastFocus ) {
498
569
  // Don't trigger a refocus on the same cell
499
570
  if ( lastFocus.node === cell.node() ) {
571
+ this._emitEvent( 'key-refocus', [ this.s.dt, cell, originalEvent || null ] );
500
572
  return;
501
573
  }
502
574
 
@@ -557,6 +629,11 @@ $.extend( KeyTable.prototype, {
557
629
  return;
558
630
  }
559
631
 
632
+ if ( e.ctrlKey && e.keyCode === 67 ) { // c
633
+ this._clipboardCopy();
634
+ return;
635
+ }
636
+
560
637
  if ( e.keyCode === 0 || e.ctrlKey || e.metaKey || e.altKey ) {
561
638
  return;
562
639
  }
@@ -667,6 +744,12 @@ $.extend( KeyTable.prototype, {
667
744
  var containerHeight = container.height();
668
745
  var containerWidth = container.width();
669
746
 
747
+ // If Scroller is being used, the table can be `position: absolute` and that
748
+ // needs to be taken account of in the offset. If no Scroller, this will be 0
749
+ if ( posOff === 'position' ) {
750
+ offset.top += parseInt( cell.closest('table').css('top'), 10 );
751
+ }
752
+
670
753
  // Top correction
671
754
  if ( offset.top < scrollTop ) {
672
755
  scroller.scrollTop( offset.top );
@@ -873,6 +956,18 @@ KeyTable.defaults = {
873
956
  */
874
957
  editorKeys: 'navigation-only',
875
958
 
959
+ /**
960
+ * Set if Editor should automatically select the text in the input
961
+ * @type {Boolean}
962
+ */
963
+ editAutoSelect: true,
964
+
965
+ /**
966
+ * Control if editing should be activated immediately upon focus
967
+ * @type {Boolean}
968
+ */
969
+ editOnFocus: false,
970
+
876
971
  /**
877
972
  * Select a cell to automatically select on start up. `null` for no
878
973
  * automatic selection
@@ -895,7 +990,7 @@ KeyTable.defaults = {
895
990
 
896
991
 
897
992
 
898
- KeyTable.version = "2.2.1";
993
+ KeyTable.version = "2.3.2";
899
994
 
900
995
 
901
996
  $.fn.dataTable.KeyTable = KeyTable;
@@ -1,15 +1,15 @@
1
- /*! Responsive 2.1.1
2
- * 2014-2016 SpryMedia Ltd - datatables.net/license
1
+ /*! Responsive 2.2.1-dev
2
+ * 2014-2017 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary Responsive
7
7
  * @description Responsive tables plug-in for DataTables
8
- * @version 2.1.1
8
+ * @version 2.2.1-dev
9
9
  * @file dataTables.responsive.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
12
- * @copyright Copyright 2014-2016 SpryMedia Ltd.
12
+ * @copyright Copyright 2014-2017 SpryMedia Ltd.
13
13
  *
14
14
  * This source file is free software, available under the following license:
15
15
  * MIT license - http://datatables.net/license/mit
@@ -762,8 +762,13 @@ $.extend( Responsive.prototype, {
762
762
  $( dt.table().node() ).toggleClass( 'collapsed', collapsedClass );
763
763
 
764
764
  var changed = false;
765
+ var visible = 0;
765
766
 
766
767
  dt.columns().eq(0).each( function ( colIdx, i ) {
768
+ if ( columnsVis[i] === true ) {
769
+ visible++;
770
+ }
771
+
767
772
  if ( columnsVis[i] !== oldVis[i] ) {
768
773
  changed = true;
769
774
  that._setColumnVis( colIdx, columnsVis[i] );
@@ -775,6 +780,11 @@ $.extend( Responsive.prototype, {
775
780
 
776
781
  // Inform listeners of the change
777
782
  $(dt.table().node()).trigger( 'responsive-resize.dt', [dt, this.s.current] );
783
+
784
+ // If no records, update the "No records" display element
785
+ if ( dt.page.info().recordsDisplay === 0 ) {
786
+ $('td', dt.table().body()).eq(0).attr('colspan', visible);
787
+ }
778
788
  }
779
789
  },
780
790
 
@@ -803,6 +813,15 @@ $.extend( Responsive.prototype, {
803
813
  return;
804
814
  }
805
815
 
816
+ // Need to restore all children. They will be reinstated by a re-render
817
+ if ( ! $.isEmptyObject( _childNodeStore ) ) {
818
+ $.each( _childNodeStore, function ( key ) {
819
+ var idx = key.split('-');
820
+
821
+ _childNodesRestore( dt, idx[0]*1, idx[1]*1 );
822
+ } );
823
+ }
824
+
806
825
  // Clone the table with the current data in it
807
826
  var tableWidth = dt.table().node().offsetWidth;
808
827
  var columnWidths = dt.columns;
@@ -864,7 +883,8 @@ $.extend( Responsive.prototype, {
864
883
  .css( {
865
884
  width: 1,
866
885
  height: 1,
867
- overflow: 'hidden'
886
+ overflow: 'hidden',
887
+ clear: 'both'
868
888
  } )
869
889
  .append( clonedTable );
870
890
 
@@ -899,6 +919,13 @@ $.extend( Responsive.prototype, {
899
919
  $( dt.column( col ).header() ).css( 'display', display );
900
920
  $( dt.column( col ).footer() ).css( 'display', display );
901
921
  dt.column( col ).nodes().to$().css( 'display', display );
922
+
923
+ // If the are child nodes stored, we might need to reinsert them
924
+ if ( ! $.isEmptyObject( _childNodeStore ) ) {
925
+ dt.cells( null, col ).indexes().each( function (idx) {
926
+ _childNodesRestore( dt, idx.row, idx.column );
927
+ } );
928
+ }
902
929
  },
903
930
 
904
931
 
@@ -1060,6 +1087,52 @@ Responsive.display = {
1060
1087
  };
1061
1088
 
1062
1089
 
1090
+ var _childNodeStore = {};
1091
+
1092
+ function _childNodes( dt, row, col ) {
1093
+ var name = row+'-'+col;
1094
+
1095
+ if ( _childNodeStore[ name ] ) {
1096
+ return _childNodeStore[ name ];
1097
+ }
1098
+
1099
+ // https://jsperf.com/childnodes-array-slice-vs-loop
1100
+ var nodes = [];
1101
+ var children = dt.cell( row, col ).node().childNodes;
1102
+ for ( var i=0, ien=children.length ; i<ien ; i++ ) {
1103
+ nodes.push( children[i] );
1104
+ }
1105
+
1106
+ _childNodeStore[ name ] = nodes;
1107
+
1108
+ return nodes;
1109
+ }
1110
+
1111
+ function _childNodesRestore( dt, row, col ) {
1112
+ var name = row+'-'+col;
1113
+
1114
+ if ( ! _childNodeStore[ name ] ) {
1115
+ return;
1116
+ }
1117
+
1118
+ var node = dt.cell( row, col ).node();
1119
+ var store = _childNodeStore[ name ];
1120
+ var parent = store[0].parentNode;
1121
+ var parentChildren = parent.childNodes;
1122
+ var a = [];
1123
+
1124
+ for ( var i=0, ien=parentChildren.length ; i<ien ; i++ ) {
1125
+ a.push( parentChildren[i] );
1126
+ }
1127
+
1128
+ for ( var j=0, jen=a.length ; j<jen ; j++ ) {
1129
+ node.appendChild( a[j] );
1130
+ }
1131
+
1132
+ _childNodeStore[ name ] = undefined;
1133
+ }
1134
+
1135
+
1063
1136
  /**
1064
1137
  * Display methods - functions which define how the hidden data should be shown
1065
1138
  * in the table.
@@ -1069,6 +1142,33 @@ Responsive.display = {
1069
1142
  * @static
1070
1143
  */
1071
1144
  Responsive.renderer = {
1145
+ listHiddenNodes: function () {
1146
+ return function ( api, rowIdx, columns ) {
1147
+ var ul = $('<ul data-dtr-index="'+rowIdx+'" class="dtr-details"/>');
1148
+ var found = false;
1149
+
1150
+ var data = $.each( columns, function ( i, col ) {
1151
+ if ( col.hidden ) {
1152
+ $(
1153
+ '<li data-dtr-index="'+col.columnIndex+'" data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">'+
1154
+ '<span class="dtr-title">'+
1155
+ col.title+
1156
+ '</span> '+
1157
+ '</li>'
1158
+ )
1159
+ .append( $('<span class="dtr-data"/>').append( _childNodes( api, col.rowIndex, col.columnIndex ) ) )// api.cell( col.rowIndex, col.columnIndex ).node().childNodes ) )
1160
+ .appendTo( ul );
1161
+
1162
+ found = true;
1163
+ }
1164
+ } );
1165
+
1166
+ return found ?
1167
+ ul :
1168
+ false;
1169
+ };
1170
+ },
1171
+
1072
1172
  listHidden: function () {
1073
1173
  return function ( api, rowIdx, columns ) {
1074
1174
  var data = $.map( columns, function ( col ) {
@@ -1224,7 +1324,7 @@ Api.register( 'responsive.hasHidden()', function () {
1224
1324
  * @name Responsive.version
1225
1325
  * @static
1226
1326
  */
1227
- Responsive.version = '2.1.1';
1327
+ Responsive.version = '2.2.1-dev';
1228
1328
 
1229
1329
 
1230
1330
  $.fn.dataTable.Responsive = Responsive;