classiccms 0.5.5 → 0.5.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.
Files changed (407) hide show
  1. data/classiccms.gemspec +1 -0
  2. data/lib/classiccms/application.rb +1 -0
  3. data/lib/classiccms/controllers/admin.rb +28 -0
  4. data/lib/classiccms/controllers/cms.rb +14 -11
  5. data/lib/classiccms/helpers.rb +8 -0
  6. data/lib/classiccms/public/admin/bootstrap/css/bootstrap-responsive.css +815 -0
  7. data/lib/classiccms/public/admin/bootstrap/css/bootstrap-responsive.min.css +9 -0
  8. data/lib/classiccms/public/admin/bootstrap/css/bootstrap.css +4983 -0
  9. data/lib/classiccms/public/admin/bootstrap/css/bootstrap.min.css +9 -0
  10. data/lib/classiccms/public/admin/bootstrap/img/glyphicons-halflings-white.png +0 -0
  11. data/lib/classiccms/public/admin/bootstrap/img/glyphicons-halflings.png +0 -0
  12. data/lib/classiccms/public/admin/bootstrap/index.js +14 -0
  13. data/lib/classiccms/public/admin/bootstrap/js/bootstrap.js +1825 -0
  14. data/lib/classiccms/public/admin/bootstrap/js/bootstrap.min.js +6 -0
  15. data/lib/classiccms/public/admin/datatables/css/demo_page.css +107 -0
  16. data/lib/classiccms/public/admin/datatables/css/demo_table.css +556 -0
  17. data/lib/classiccms/public/admin/datatables/css/demo_table_jui.css +526 -0
  18. data/lib/classiccms/public/admin/datatables/css/jquery.dataTables.css +220 -0
  19. data/lib/classiccms/public/admin/datatables/css/jquery.dataTables_themeroller.css +245 -0
  20. data/lib/classiccms/public/admin/datatables/images/Sorting icons.psd +0 -0
  21. data/lib/classiccms/public/admin/datatables/images/back_disabled.png +0 -0
  22. data/lib/classiccms/public/admin/datatables/images/back_enabled.png +0 -0
  23. data/lib/classiccms/public/admin/datatables/images/back_enabled_hover.png +0 -0
  24. data/lib/classiccms/public/admin/datatables/images/favicon.ico +0 -0
  25. data/lib/classiccms/public/admin/datatables/images/forward_disabled.png +0 -0
  26. data/lib/classiccms/public/admin/datatables/images/forward_enabled.png +0 -0
  27. data/lib/classiccms/public/admin/datatables/images/forward_enabled_hover.png +0 -0
  28. data/lib/classiccms/public/admin/datatables/images/sort_asc.png +0 -0
  29. data/lib/classiccms/public/admin/datatables/images/sort_asc_disabled.png +0 -0
  30. data/lib/classiccms/public/admin/datatables/images/sort_both.png +0 -0
  31. data/lib/classiccms/public/admin/datatables/images/sort_desc.png +0 -0
  32. data/lib/classiccms/public/admin/datatables/images/sort_desc_disabled.png +0 -0
  33. data/lib/classiccms/public/admin/datatables/js/jquery.dataTables.js +11863 -0
  34. data/lib/classiccms/public/admin/datatables/js/jquery.dataTables.min.js +154 -0
  35. data/lib/classiccms/public/admin/datatables/js/jquery.js +4 -0
  36. data/lib/classiccms/public/admin/datatables/src/DataTables.js +259 -0
  37. data/lib/classiccms/public/admin/datatables/src/api/api.internal.js +128 -0
  38. data/lib/classiccms/public/admin/datatables/src/api/api.methods.js +1276 -0
  39. data/lib/classiccms/public/admin/datatables/src/api/api.static.js +98 -0
  40. data/lib/classiccms/public/admin/datatables/src/core/core.ajax.js +185 -0
  41. data/lib/classiccms/public/admin/datatables/src/core/core.columns.js +365 -0
  42. data/lib/classiccms/public/admin/datatables/src/core/core.constructor.js +439 -0
  43. data/lib/classiccms/public/admin/datatables/src/core/core.data.js +546 -0
  44. data/lib/classiccms/public/admin/datatables/src/core/core.draw.js +788 -0
  45. data/lib/classiccms/public/admin/datatables/src/core/core.filter.js +405 -0
  46. data/lib/classiccms/public/admin/datatables/src/core/core.info.js +117 -0
  47. data/lib/classiccms/public/admin/datatables/src/core/core.init.js +153 -0
  48. data/lib/classiccms/public/admin/datatables/src/core/core.length.js +122 -0
  49. data/lib/classiccms/public/admin/datatables/src/core/core.page.js +119 -0
  50. data/lib/classiccms/public/admin/datatables/src/core/core.processing.js +44 -0
  51. data/lib/classiccms/public/admin/datatables/src/core/core.scrolling.js +495 -0
  52. data/lib/classiccms/public/admin/datatables/src/core/core.sizing.js +405 -0
  53. data/lib/classiccms/public/admin/datatables/src/core/core.sort.js +460 -0
  54. data/lib/classiccms/public/admin/datatables/src/core/core.state.js +201 -0
  55. data/lib/classiccms/public/admin/datatables/src/core/core.support.js +316 -0
  56. data/lib/classiccms/public/admin/datatables/src/ext/ext.classes.js +112 -0
  57. data/lib/classiccms/public/admin/datatables/src/ext/ext.paging.js +257 -0
  58. data/lib/classiccms/public/admin/datatables/src/ext/ext.sorting.js +86 -0
  59. data/lib/classiccms/public/admin/datatables/src/ext/ext.types.js +88 -0
  60. data/lib/classiccms/public/admin/datatables/src/model/model.column.js +248 -0
  61. data/lib/classiccms/public/admin/datatables/src/model/model.defaults.columns.js +737 -0
  62. data/lib/classiccms/public/admin/datatables/src/model/model.defaults.js +1944 -0
  63. data/lib/classiccms/public/admin/datatables/src/model/model.ext.js +528 -0
  64. data/lib/classiccms/public/admin/datatables/src/model/model.row.js +64 -0
  65. data/lib/classiccms/public/admin/datatables/src/model/model.search.js +40 -0
  66. data/lib/classiccms/public/admin/datatables/src/model/model.settings.js +868 -0
  67. data/lib/classiccms/public/admin/datatables/unit_testing/controller.js +94 -0
  68. data/lib/classiccms/public/admin/datatables/unit_testing/controller.php +100 -0
  69. data/lib/classiccms/public/admin/datatables/unit_testing/index.html +7 -0
  70. data/lib/classiccms/public/admin/datatables/unit_testing/performance/draw.html +482 -0
  71. data/lib/classiccms/public/admin/datatables/unit_testing/performance/large.php +108 -0
  72. data/lib/classiccms/public/admin/datatables/unit_testing/performance/page.html +477 -0
  73. data/lib/classiccms/public/admin/datatables/unit_testing/performance/sort.html +477 -0
  74. data/lib/classiccms/public/admin/datatables/unit_testing/templates/-complex_header.php +469 -0
  75. data/lib/classiccms/public/admin/datatables/unit_testing/templates/2512.php +464 -0
  76. data/lib/classiccms/public/admin/datatables/unit_testing/templates/6776.php +116 -0
  77. data/lib/classiccms/public/admin/datatables/unit_testing/templates/complex_header_2.php +485 -0
  78. data/lib/classiccms/public/admin/datatables/unit_testing/templates/deferred_table.php +132 -0
  79. data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data.php +465 -0
  80. data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data_th.php +465 -0
  81. data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data_two_headers.php +472 -0
  82. data/lib/classiccms/public/admin/datatables/unit_testing/templates/dymanic_table.php +45 -0
  83. data/lib/classiccms/public/admin/datatables/unit_testing/templates/empty_table.php +55 -0
  84. data/lib/classiccms/public/admin/datatables/unit_testing/templates/html_table.php +66 -0
  85. data/lib/classiccms/public/admin/datatables/unit_testing/templates/js_data.php +124 -0
  86. data/lib/classiccms/public/admin/datatables/unit_testing/templates/js_data_mixed_types.php +124 -0
  87. data/lib/classiccms/public/admin/datatables/unit_testing/templates/two_tables.php +227 -0
  88. data/lib/classiccms/public/admin/datatables/unit_testing/tests/1_dom/_zero_config.js +437 -0
  89. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/-complex_header.js +52 -0
  90. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/-iDraw.js +41 -0
  91. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2512.js +17 -0
  92. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2530-2.js +15 -0
  93. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2530.js +29 -0
  94. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2569.js +36 -0
  95. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2600.js +44 -0
  96. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2608.js +54 -0
  97. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2635.js +40 -0
  98. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2746-stable-sort.js +199 -0
  99. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2799.js +14 -0
  100. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js +19 -0
  101. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js +39 -0
  102. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/5396-fnUpdate-arrays.js +103 -0
  103. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/5508-xscroll-zero-content.js +23 -0
  104. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/6776-scrolling-table-grows.js +64 -0
  105. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/_zero_config.js +437 -0
  106. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aaSorting.js +183 -0
  107. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aaSortingFixed.js +60 -0
  108. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js +67 -0
  109. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js +105 -0
  110. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js +145 -0
  111. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js +132 -0
  112. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bVisible2.js +268 -0
  113. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js +176 -0
  114. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js +88 -0
  115. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js +111 -0
  116. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sName.js +27 -0
  117. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js +78 -0
  118. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js +84 -0
  119. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoSearchCols.js +112 -0
  120. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/asStripClasses.js +106 -0
  121. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bAutoWidth.js +138 -0
  122. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bFilter.js +40 -0
  123. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js +130 -0
  124. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bInfo.js +40 -0
  125. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bJQueryUI.js +40 -0
  126. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bLengthChange.js +71 -0
  127. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bPaginate.js +55 -0
  128. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bProcessing.js +99 -0
  129. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bServerSide.js +18 -0
  130. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSort.js +101 -0
  131. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSortCellsTop.js +77 -0
  132. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSortClasses.js +128 -0
  133. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCookieCallback.js +97 -0
  134. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCreatedCell.js +151 -0
  135. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCreatedRow.js +115 -0
  136. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnDeleteRow.js +30 -0
  137. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnDrawCallback.js +80 -0
  138. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnFilter.js +16 -0
  139. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnFooterCallback.js +227 -0
  140. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js +227 -0
  141. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnInfoCallback.js +115 -0
  142. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnInitComplete.js +94 -0
  143. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnRowCallback.js +105 -0
  144. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnSetColumnVis.js +120 -0
  145. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnSetColumnVis2.js +236 -0
  146. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/html-autodetect-sort.js +57 -0
  147. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/iDisplayLength.js +76 -0
  148. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js +80 -0
  149. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js +109 -0
  150. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js +75 -0
  151. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js +73 -0
  152. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js +106 -0
  153. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js +47 -0
  154. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js +66 -0
  155. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js +59 -0
  156. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js +45 -0
  157. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oSearch.js +101 -0
  158. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sAjaxSource.js +18 -0
  159. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sDom.js +319 -0
  160. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sPaginationType.js +122 -0
  161. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sScrollXY.js +63 -0
  162. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/th_in_body.js +437 -0
  163. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/6872-default-content-missing-props.js +285 -0
  164. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/8549--string-sorting-nonstrings.js +47 -0
  165. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/_zero_config.js +440 -0
  166. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aaSorting.js +198 -0
  167. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aaSortingFixed.js +64 -0
  168. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js +71 -0
  169. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js +109 -0
  170. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js +148 -0
  171. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js +110 -0
  172. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js +156 -0
  173. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js +90 -0
  174. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sClass.js +115 -0
  175. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sName.js +28 -0
  176. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js +82 -0
  177. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js +87 -0
  178. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoSearchCols.js +119 -0
  179. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/asStripClasses.js +100 -0
  180. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bAutoWidth.js +142 -0
  181. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bFilter.js +44 -0
  182. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bInfo.js +44 -0
  183. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bLengthChange.js +75 -0
  184. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bPaginate.js +59 -0
  185. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bProcessing.js +103 -0
  186. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bServerSide.js +20 -0
  187. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bSort.js +99 -0
  188. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bSortClasses.js +132 -0
  189. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnCreatedCell.js +158 -0
  190. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnCreatedRow.js +121 -0
  191. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnDrawCallback.js +85 -0
  192. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnFooterCallback.js +240 -0
  193. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnHeaderCallback.js +240 -0
  194. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnInitComplete.js +83 -0
  195. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnRowCallback.js +112 -0
  196. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/iDisplayLength.js +81 -0
  197. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/js_data_mixed_types.js +392 -0
  198. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js +84 -0
  199. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js +117 -0
  200. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js +79 -0
  201. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js +78 -0
  202. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js +111 -0
  203. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js +49 -0
  204. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js +70 -0
  205. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js +62 -0
  206. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js +48 -0
  207. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oSearch.js +108 -0
  208. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sAjaxSource.js +20 -0
  209. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sDom.js +262 -0
  210. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sPaginationType.js +125 -0
  211. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/_zero_config.js +440 -0
  212. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aaSorting.js +198 -0
  213. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js +67 -0
  214. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js +76 -0
  215. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js +109 -0
  216. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js +148 -0
  217. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js +124 -0
  218. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js +156 -0
  219. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js +90 -0
  220. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js +115 -0
  221. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js +28 -0
  222. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js +82 -0
  223. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js +87 -0
  224. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoSearchCols.js +119 -0
  225. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/asStripClasses.js +105 -0
  226. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bAutoWidth.js +142 -0
  227. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bFilter.js +44 -0
  228. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bInfo.js +44 -0
  229. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bLengthChange.js +75 -0
  230. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bPaginate.js +59 -0
  231. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bProcessing.js +103 -0
  232. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bServerSide.js +20 -0
  233. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bSort.js +99 -0
  234. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bSortClasses.js +132 -0
  235. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnCreatedCell.js +183 -0
  236. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnCreatedRow.js +142 -0
  237. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js +98 -0
  238. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js +191 -0
  239. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnInitComplete.js +100 -0
  240. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnRowCallback.js +112 -0
  241. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnServerData.js +64 -0
  242. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/iDisplayLength.js +81 -0
  243. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js +84 -0
  244. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js +117 -0
  245. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js +79 -0
  246. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js +78 -0
  247. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js +111 -0
  248. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sLoadingRecords.js +65 -0
  249. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js +49 -0
  250. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js +70 -0
  251. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js +62 -0
  252. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js +48 -0
  253. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oSearch.js +108 -0
  254. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxDataProp.js +139 -0
  255. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxDataProp2.js +139 -0
  256. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxSource.js +22 -0
  257. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sDom.js +262 -0
  258. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sPaginationType.js +134 -0
  259. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/-iDraw.js +44 -0
  260. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2440.js +32 -0
  261. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2569.js +47 -0
  262. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2600.js +47 -0
  263. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/_zero_config.js +424 -0
  264. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aaSorting.js +212 -0
  265. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js +67 -0
  266. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js +25 -0
  267. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js +112 -0
  268. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js +43 -0
  269. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js +123 -0
  270. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js +162 -0
  271. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js +118 -0
  272. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js +29 -0
  273. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js +85 -0
  274. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js +90 -0
  275. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoSearchCols.js +70 -0
  276. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/asStripClasses.js +109 -0
  277. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bAutoWidth.js +145 -0
  278. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bFilter.js +47 -0
  279. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js +168 -0
  280. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bInfo.js +47 -0
  281. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bLengthChange.js +78 -0
  282. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bPaginate.js +62 -0
  283. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bProcessing.js +106 -0
  284. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bServerSide.js +21 -0
  285. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bSort.js +102 -0
  286. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bSortClasses.js +135 -0
  287. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnCreatedCell.js +190 -0
  288. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnCreatedRow.js +148 -0
  289. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js +89 -0
  290. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js +191 -0
  291. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnInitComplete.js +89 -0
  292. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnRowCallback.js +118 -0
  293. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/iDeferLoading.js +95 -0
  294. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/iDisplayLength.js +85 -0
  295. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js +86 -0
  296. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js +124 -0
  297. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js +82 -0
  298. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js +82 -0
  299. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js +115 -0
  300. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js +51 -0
  301. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js +73 -0
  302. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js +64 -0
  303. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js +58 -0
  304. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oSearch.js +100 -0
  305. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js +146 -0
  306. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sAjaxSource.js +23 -0
  307. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sDom.js +269 -0
  308. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sPaginationType.js +138 -0
  309. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js +847 -0
  310. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js +961 -0
  311. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js +1075 -0
  312. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_null_source.js +458 -0
  313. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js +847 -0
  314. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js +961 -0
  315. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aaSorting.js +296 -0
  316. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aaSortingFixed.js +88 -0
  317. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSearchable.js +83 -0
  318. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSortable.js +116 -0
  319. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bUseRendered.js +155 -0
  320. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bVisible.js +131 -0
  321. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.fnRender.js +177 -0
  322. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.iDataSort.js +90 -0
  323. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sClass.js +122 -0
  324. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sName.js +28 -0
  325. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sTitle.js +89 -0
  326. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sWidth.js +87 -0
  327. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoSearchCols.js +161 -0
  328. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/asStripClasses.js +133 -0
  329. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bAutoWidth.js +163 -0
  330. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bFilter.js +65 -0
  331. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bInfo.js +65 -0
  332. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bLengthChange.js +96 -0
  333. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bPaginate.js +80 -0
  334. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bProcessing.js +124 -0
  335. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bServerSide.js +27 -0
  336. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bSort.js +120 -0
  337. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bSortClasses.js +153 -0
  338. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnDrawCallback.js +126 -0
  339. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js +254 -0
  340. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnInitComplete.js +135 -0
  341. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnRowCallback.js +154 -0
  342. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnServerData.js +92 -0
  343. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/iDisplayLength.js +109 -0
  344. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.oPaginate.js +98 -0
  345. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfo.js +166 -0
  346. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoEmpty.js +100 -0
  347. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoPostFix.js +106 -0
  348. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sLengthMenu.js +139 -0
  349. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sProcessing.js +63 -0
  350. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sSearch.js +91 -0
  351. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sUrl.js +76 -0
  352. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sZeroRecords.js +62 -0
  353. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oSearch.js +150 -0
  354. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sAjaxSource.js +29 -0
  355. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sDom.js +311 -0
  356. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sPaginationType.js +148 -0
  357. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/_zero_config.js +403 -0
  358. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aaSorting.js +212 -0
  359. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aaSortingFixed.js +70 -0
  360. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSearchable.js +79 -0
  361. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSortable.js +112 -0
  362. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bUseRendered.js +151 -0
  363. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bVisible.js +127 -0
  364. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.fnRender.js +190 -0
  365. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.iDataSort.js +92 -0
  366. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sClass.js +118 -0
  367. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sName.js +29 -0
  368. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sTitle.js +85 -0
  369. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sWidth.js +90 -0
  370. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoSearchCols.js +125 -0
  371. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/asStripClasses.js +109 -0
  372. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bAutoWidth.js +145 -0
  373. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bFilter.js +47 -0
  374. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bInfo.js +47 -0
  375. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bLengthChange.js +78 -0
  376. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bPaginate.js +62 -0
  377. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bProcessing.js +106 -0
  378. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bServerSide.js +21 -0
  379. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bSort.js +102 -0
  380. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bSortClasses.js +135 -0
  381. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnDrawCallback.js +102 -0
  382. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js +200 -0
  383. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnInitComplete.js +105 -0
  384. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js +118 -0
  385. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnServerData.js +68 -0
  386. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/iDisplayLength.js +85 -0
  387. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.oPaginate.js +86 -0
  388. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfo.js +124 -0
  389. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoEmpty.js +82 -0
  390. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoPostFix.js +82 -0
  391. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sLengthMenu.js +115 -0
  392. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sProcessing.js +51 -0
  393. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sSearch.js +73 -0
  394. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sUrl.js +64 -0
  395. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sZeroRecords.js +50 -0
  396. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oSearch.js +114 -0
  397. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp.js +140 -0
  398. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js +140 -0
  399. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxSource.js +23 -0
  400. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sDom.js +269 -0
  401. data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sPaginationType.js +136 -0
  402. data/lib/classiccms/public/admin/datatables/unit_testing/unit_test.js +409 -0
  403. data/lib/classiccms/public/admin/index.js +5 -0
  404. data/lib/classiccms/scaffold/config.ru +2 -1
  405. data/lib/classiccms/version.rb +1 -1
  406. data/lib/classiccms/views/admin/index.haml +51 -0
  407. metadata +418 -2
@@ -0,0 +1,1944 @@
1
+
2
+
3
+ /**
4
+ * Initialisation options that can be given to DataTables at initialisation
5
+ * time.
6
+ * @namespace
7
+ */
8
+ DataTable.defaults = {
9
+ /**
10
+ * An array of data to use for the table, passed in at initialisation which
11
+ * will be used in preference to any data which is already in the DOM. This is
12
+ * particularly useful for constructing tables purely in Javascript, for
13
+ * example with a custom Ajax call.
14
+ * @type array
15
+ * @default null
16
+ * @dtopt Option
17
+ *
18
+ * @example
19
+ * // Using a 2D array data source
20
+ * $(document).ready( function () {
21
+ * $('#example').dataTable( {
22
+ * "aaData": [
23
+ * ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],
24
+ * ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'],
25
+ * ],
26
+ * "aoColumns": [
27
+ * { "sTitle": "Engine" },
28
+ * { "sTitle": "Browser" },
29
+ * { "sTitle": "Platform" },
30
+ * { "sTitle": "Version" },
31
+ * { "sTitle": "Grade" }
32
+ * ]
33
+ * } );
34
+ * } );
35
+ *
36
+ * @example
37
+ * // Using an array of objects as a data source (mDataProp)
38
+ * $(document).ready( function () {
39
+ * $('#example').dataTable( {
40
+ * "aaData": [
41
+ * {
42
+ * "engine": "Trident",
43
+ * "browser": "Internet Explorer 4.0",
44
+ * "platform": "Win 95+",
45
+ * "version": 4,
46
+ * "grade": "X"
47
+ * },
48
+ * {
49
+ * "engine": "Trident",
50
+ * "browser": "Internet Explorer 5.0",
51
+ * "platform": "Win 95+",
52
+ * "version": 5,
53
+ * "grade": "C"
54
+ * }
55
+ * ],
56
+ * "aoColumns": [
57
+ * { "sTitle": "Engine", "mDataProp": "engine" },
58
+ * { "sTitle": "Browser", "mDataProp": "browser" },
59
+ * { "sTitle": "Platform", "mDataProp": "platform" },
60
+ * { "sTitle": "Version", "mDataProp": "version" },
61
+ * { "sTitle": "Grade", "mDataProp": "grade" }
62
+ * ]
63
+ * } );
64
+ * } );
65
+ */
66
+ "aaData": null,
67
+
68
+
69
+ /**
70
+ * If sorting is enabled, then DataTables will perform a first pass sort on
71
+ * initialisation. You can define which column(s) the sort is performed upon,
72
+ * and the sorting direction, with this variable. The aaSorting array should
73
+ * contain an array for each column to be sorted initially containing the
74
+ * column's index and a direction string ('asc' or 'desc').
75
+ * @type array
76
+ * @default [[0,'asc']]
77
+ * @dtopt Option
78
+ *
79
+ * @example
80
+ * // Sort by 3rd column first, and then 4th column
81
+ * $(document).ready( function() {
82
+ * $('#example').dataTable( {
83
+ * "aaSorting": [[2,'asc'], [3,'desc']]
84
+ * } );
85
+ * } );
86
+ *
87
+ * // No initial sorting
88
+ * $(document).ready( function() {
89
+ * $('#example').dataTable( {
90
+ * "aaSorting": []
91
+ * } );
92
+ * } );
93
+ */
94
+ "aaSorting": [[0,'asc']],
95
+
96
+
97
+ /**
98
+ * This parameter is basically identical to the aaSorting parameter, but
99
+ * cannot be overridden by user interaction with the table. What this means
100
+ * is that you could have a column (visible or hidden) which the sorting will
101
+ * always be forced on first - any sorting after that (from the user) will
102
+ * then be performed as required. This can be useful for grouping rows
103
+ * together.
104
+ * @type array
105
+ * @default null
106
+ * @dtopt Option
107
+ *
108
+ * @example
109
+ * $(document).ready( function() {
110
+ * $('#example').dataTable( {
111
+ * "aaSortingFixed": [[0,'asc']]
112
+ * } );
113
+ * } )
114
+ */
115
+ "aaSortingFixed": null,
116
+
117
+
118
+ /**
119
+ * This parameter allows you to readily specify the entries in the length drop
120
+ * down menu that DataTables shows when pagination is enabled. It can be
121
+ * either a 1D array of options which will be used for both the displayed
122
+ * option and the value, or a 2D array which will use the array in the first
123
+ * position as the value, and the array in the second position as the
124
+ * displayed options (useful for language strings such as 'All').
125
+ * @type array
126
+ * @default [ 10, 25, 50, 100 ]
127
+ * @dtopt Option
128
+ *
129
+ * @example
130
+ * $(document).ready(function() {
131
+ * $('#example').dataTable( {
132
+ * "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
133
+ * } );
134
+ * } );
135
+ *
136
+ * @example
137
+ * // Setting the default display length as well as length menu
138
+ * // This is likely to be wanted if you remove the '10' option which
139
+ * // is the iDisplayLength default.
140
+ * $(document).ready(function() {
141
+ * $('#example').dataTable( {
142
+ * "iDisplayLength": 25,
143
+ * "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]]
144
+ * } );
145
+ * } );
146
+ */
147
+ "aLengthMenu": [ 10, 25, 50, 100 ],
148
+
149
+
150
+ /**
151
+ * The aoColumns option in the initialisation parameter allows you to define
152
+ * details about the way individual columns behave. For a full list of
153
+ * column options that can be set, please see
154
+ * {@link DataTable.defaults.columns}. Note that if you use aoColumns to
155
+ * define your columns, you must have an entry in the array for every single
156
+ * column that you have in your table (these can be null if you don't which
157
+ * to specify any options).
158
+ * @member
159
+ */
160
+ "aoColumns": null,
161
+
162
+ /**
163
+ * Very similar to aoColumns, aoColumnDefs allows you to target a specific
164
+ * column, multiple columns, or all columns, using the aTargets property of
165
+ * each object in the array. This allows great flexibility when creating
166
+ * tables, as the aoColumnDefs arrays can be of any length, targeting the
167
+ * columns you specifically want. aoColumnDefs may use any of the column
168
+ * options available: {@link DataTable.defaults.columns}, but it _must_
169
+ * have aTargets defined in each object in the array. Values in the aTargets
170
+ * array may be:
171
+ * <ul>
172
+ * <li>a string - class name will be matched on the TH for the column</li>
173
+ * <li>0 or a positive integer - column index counting from the left</li>
174
+ * <li>a negative integer - column index counting from the right</li>
175
+ * <li>the string "_all" - all columns (i.e. assign a default)</li>
176
+ * </ul>
177
+ * @member
178
+ */
179
+ "aoColumnDefs": null,
180
+
181
+
182
+ /**
183
+ * Basically the same as oSearch, this parameter defines the individual column
184
+ * filtering state at initialisation time. The array must be of the same size
185
+ * as the number of columns, and each element be an object with the parameters
186
+ * "sSearch" and "bEscapeRegex" (the latter is optional). 'null' is also
187
+ * accepted and the default will be used.
188
+ * @type array
189
+ * @default []
190
+ * @dtopt Option
191
+ *
192
+ * @example
193
+ * $(document).ready( function() {
194
+ * $('#example').dataTable( {
195
+ * "aoSearchCols": [
196
+ * null,
197
+ * { "sSearch": "My filter" },
198
+ * null,
199
+ * { "sSearch": "^[0-9]", "bEscapeRegex": false }
200
+ * ]
201
+ * } );
202
+ * } )
203
+ */
204
+ "aoSearchCols": [],
205
+
206
+
207
+ /**
208
+ * An array of CSS classes that should be applied to displayed rows. This
209
+ * array may be of any length, and DataTables will apply each class
210
+ * sequentially, looping when required.
211
+ * @type array
212
+ * @default null <i>Will take the values determinted by the oClasses.sStripe*
213
+ * options</i>
214
+ * @dtopt Option
215
+ *
216
+ * @example
217
+ * $(document).ready( function() {
218
+ * $('#example').dataTable( {
219
+ * "asStripeClasses": [ 'strip1', 'strip2', 'strip3' ]
220
+ * } );
221
+ * } )
222
+ */
223
+ "asStripeClasses": null,
224
+
225
+
226
+ /**
227
+ * Enable or disable automatic column width calculation. This can be disabled
228
+ * as an optimisation (it takes some time to calculate the widths) if the
229
+ * tables widths are passed in using aoColumns.
230
+ * @type boolean
231
+ * @default true
232
+ * @dtopt Features
233
+ *
234
+ * @example
235
+ * $(document).ready( function () {
236
+ * $('#example').dataTable( {
237
+ * "bAutoWidth": false
238
+ * } );
239
+ * } );
240
+ */
241
+ "bAutoWidth": true,
242
+
243
+
244
+ /**
245
+ * Deferred rendering can provide DataTables with a huge speed boost when you
246
+ * are using an Ajax or JS data source for the table. This option, when set to
247
+ * true, will cause DataTables to defer the creation of the table elements for
248
+ * each row until they are needed for a draw - saving a significant amount of
249
+ * time.
250
+ * @type boolean
251
+ * @default false
252
+ * @dtopt Features
253
+ *
254
+ * @example
255
+ * $(document).ready(function() {
256
+ * var oTable = $('#example').dataTable( {
257
+ * "sAjaxSource": "sources/arrays.txt",
258
+ * "bDeferRender": true
259
+ * } );
260
+ * } );
261
+ */
262
+ "bDeferRender": false,
263
+
264
+
265
+ /**
266
+ * Replace a DataTable which matches the given selector and replace it with
267
+ * one which has the properties of the new initialisation object passed. If no
268
+ * table matches the selector, then the new DataTable will be constructed as
269
+ * per normal.
270
+ * @type boolean
271
+ * @default false
272
+ * @dtopt Options
273
+ *
274
+ * @example
275
+ * $(document).ready(function() {
276
+ * $('#example').dataTable( {
277
+ * "sScrollY": "200px",
278
+ * "bPaginate": false
279
+ * } );
280
+ *
281
+ * // Some time later....
282
+ * $('#example').dataTable( {
283
+ * "bFilter": false,
284
+ * "bDestroy": true
285
+ * } );
286
+ * } );
287
+ */
288
+ "bDestroy": false,
289
+
290
+
291
+ /**
292
+ * Enable or disable filtering of data. Filtering in DataTables is "smart" in
293
+ * that it allows the end user to input multiple words (space separated) and
294
+ * will match a row containing those words, even if not in the order that was
295
+ * specified (this allow matching across multiple columns). Note that if you
296
+ * wish to use filtering in DataTables this must remain 'true' - to remove the
297
+ * default filtering input box and retain filtering abilities, please use
298
+ * {@link DataTable.defaults.sDom}.
299
+ * @type boolean
300
+ * @default true
301
+ * @dtopt Features
302
+ *
303
+ * @example
304
+ * $(document).ready( function () {
305
+ * $('#example').dataTable( {
306
+ * "bFilter": false
307
+ * } );
308
+ * } );
309
+ */
310
+ "bFilter": true,
311
+
312
+
313
+ /**
314
+ * Enable or disable the table information display. This shows information
315
+ * about the data that is currently visible on the page, including information
316
+ * about filtered data if that action is being performed.
317
+ * @type boolean
318
+ * @default true
319
+ * @dtopt Features
320
+ *
321
+ * @example
322
+ * $(document).ready( function () {
323
+ * $('#example').dataTable( {
324
+ * "bInfo": false
325
+ * } );
326
+ * } );
327
+ */
328
+ "bInfo": true,
329
+
330
+
331
+ /**
332
+ * Enable jQuery UI ThemeRoller support (required as ThemeRoller requires some
333
+ * slightly different and additional mark-up from what DataTables has
334
+ * traditionally used).
335
+ * @type boolean
336
+ * @default false
337
+ * @dtopt Features
338
+ *
339
+ * @example
340
+ * $(document).ready( function() {
341
+ * $('#example').dataTable( {
342
+ * "bJQueryUI": true
343
+ * } );
344
+ * } );
345
+ */
346
+ "bJQueryUI": false,
347
+
348
+
349
+ /**
350
+ * Allows the end user to select the size of a formatted page from a select
351
+ * menu (sizes are 10, 25, 50 and 100). Requires pagination (bPaginate).
352
+ * @type boolean
353
+ * @default true
354
+ * @dtopt Features
355
+ *
356
+ * @example
357
+ * $(document).ready( function () {
358
+ * $('#example').dataTable( {
359
+ * "bLengthChange": false
360
+ * } );
361
+ * } );
362
+ */
363
+ "bLengthChange": true,
364
+
365
+
366
+ /**
367
+ * Enable or disable pagination.
368
+ * @type boolean
369
+ * @default true
370
+ * @dtopt Features
371
+ *
372
+ * @example
373
+ * $(document).ready( function () {
374
+ * $('#example').dataTable( {
375
+ * "bPaginate": false
376
+ * } );
377
+ * } );
378
+ */
379
+ "bPaginate": true,
380
+
381
+
382
+ /**
383
+ * Enable or disable the display of a 'processing' indicator when the table is
384
+ * being processed (e.g. a sort). This is particularly useful for tables with
385
+ * large amounts of data where it can take a noticeable amount of time to sort
386
+ * the entries.
387
+ * @type boolean
388
+ * @default false
389
+ * @dtopt Features
390
+ *
391
+ * @example
392
+ * $(document).ready( function () {
393
+ * $('#example').dataTable( {
394
+ * "bProcessing": true
395
+ * } );
396
+ * } );
397
+ */
398
+ "bProcessing": false,
399
+
400
+
401
+ /**
402
+ * Retrieve the DataTables object for the given selector. Note that if the
403
+ * table has already been initialised, this parameter will cause DataTables
404
+ * to simply return the object that has already been set up - it will not take
405
+ * account of any changes you might have made to the initialisation object
406
+ * passed to DataTables (setting this parameter to true is an acknowledgement
407
+ * that you understand this). bDestroy can be used to reinitialise a table if
408
+ * you need.
409
+ * @type boolean
410
+ * @default false
411
+ * @dtopt Options
412
+ *
413
+ * @example
414
+ * $(document).ready(function() {
415
+ * initTable();
416
+ * tableActions();
417
+ * } );
418
+ *
419
+ * function initTable ()
420
+ * {
421
+ * return $('#example').dataTable( {
422
+ * "sScrollY": "200px",
423
+ * "bPaginate": false,
424
+ * "bRetrieve": true
425
+ * } );
426
+ * }
427
+ *
428
+ * function tableActions ()
429
+ * {
430
+ * var oTable = initTable();
431
+ * // perform API operations with oTable
432
+ * }
433
+ */
434
+ "bRetrieve": false,
435
+
436
+
437
+ /**
438
+ * Indicate if DataTables should be allowed to set the padding / margin
439
+ * etc for the scrolling header elements or not. Typically you will want
440
+ * this.
441
+ * @type boolean
442
+ * @default true
443
+ * @dtopt Options
444
+ *
445
+ * @example
446
+ * $(document).ready(function() {
447
+ * $('#example').dataTable( {
448
+ * "bScrollAutoCss": false,
449
+ * "sScrollY": "200px"
450
+ * } );
451
+ * } );
452
+ */
453
+ "bScrollAutoCss": true,
454
+
455
+
456
+ /**
457
+ * When vertical (y) scrolling is enabled, DataTables will force the height of
458
+ * the table's viewport to the given height at all times (useful for layout).
459
+ * However, this can look odd when filtering data down to a small data set,
460
+ * and the footer is left "floating" further down. This parameter (when
461
+ * enabled) will cause DataTables to collapse the table's viewport down when
462
+ * the result set will fit within the given Y height.
463
+ * @type boolean
464
+ * @default false
465
+ * @dtopt Options
466
+ *
467
+ * @example
468
+ * $(document).ready(function() {
469
+ * $('#example').dataTable( {
470
+ * "sScrollY": "200",
471
+ * "bScrollCollapse": true
472
+ * } );
473
+ * } );
474
+ */
475
+ "bScrollCollapse": false,
476
+
477
+
478
+ /**
479
+ * Enable infinite scrolling for DataTables (to be used in combination with
480
+ * sScrollY). Infinite scrolling means that DataTables will continually load
481
+ * data as a user scrolls through a table, which is very useful for large
482
+ * dataset. This cannot be used with pagination, which is automatically
483
+ * disabled. Note - the Scroller extra for DataTables is recommended in
484
+ * in preference to this option.
485
+ * @type boolean
486
+ * @default false
487
+ * @dtopt Features
488
+ *
489
+ * @example
490
+ * $(document).ready(function() {
491
+ * $('#example').dataTable( {
492
+ * "bScrollInfinite": true,
493
+ * "bScrollCollapse": true,
494
+ * "sScrollY": "200px"
495
+ * } );
496
+ * } );
497
+ */
498
+ "bScrollInfinite": false,
499
+
500
+
501
+ /**
502
+ * Configure DataTables to use server-side processing. Note that the
503
+ * sAjaxSource parameter must also be given in order to give DataTables a
504
+ * source to obtain the required data for each draw.
505
+ * @type boolean
506
+ * @default false
507
+ * @dtopt Features
508
+ * @dtopt Server-side
509
+ *
510
+ * @example
511
+ * $(document).ready( function () {
512
+ * $('#example').dataTable( {
513
+ * "bServerSide": true,
514
+ * "sAjaxSource": "xhr.php"
515
+ * } );
516
+ * } );
517
+ */
518
+ "bServerSide": false,
519
+
520
+
521
+ /**
522
+ * Enable or disable sorting of columns. Sorting of individual columns can be
523
+ * disabled by the "bSortable" option for each column.
524
+ * @type boolean
525
+ * @default true
526
+ * @dtopt Features
527
+ *
528
+ * @example
529
+ * $(document).ready( function () {
530
+ * $('#example').dataTable( {
531
+ * "bSort": false
532
+ * } );
533
+ * } );
534
+ */
535
+ "bSort": true,
536
+
537
+
538
+ /**
539
+ * Allows control over whether DataTables should use the top (true) unique
540
+ * cell that is found for a single column, or the bottom (false - default).
541
+ * This is useful when using complex headers.
542
+ * @type boolean
543
+ * @default false
544
+ * @dtopt Options
545
+ *
546
+ * @example
547
+ * $(document).ready(function() {
548
+ * $('#example').dataTable( {
549
+ * "bSortCellsTop": true
550
+ * } );
551
+ * } );
552
+ */
553
+ "bSortCellsTop": false,
554
+
555
+
556
+ /**
557
+ * Enable or disable the addition of the classes 'sorting_1', 'sorting_2' and
558
+ * 'sorting_3' to the columns which are currently being sorted on. This is
559
+ * presented as a feature switch as it can increase processing time (while
560
+ * classes are removed and added) so for large data sets you might want to
561
+ * turn this off.
562
+ * @type boolean
563
+ * @default true
564
+ * @dtopt Features
565
+ *
566
+ * @example
567
+ * $(document).ready( function () {
568
+ * $('#example').dataTable( {
569
+ * "bSortClasses": false
570
+ * } );
571
+ * } );
572
+ */
573
+ "bSortClasses": true,
574
+
575
+
576
+ /**
577
+ * Enable or disable state saving. When enabled a cookie will be used to save
578
+ * table display information such as pagination information, display length,
579
+ * filtering and sorting. As such when the end user reloads the page the
580
+ * display display will match what thy had previously set up.
581
+ * @type boolean
582
+ * @default false
583
+ * @dtopt Features
584
+ *
585
+ * @example
586
+ * $(document).ready( function () {
587
+ * $('#example').dataTable( {
588
+ * "bStateSave": true
589
+ * } );
590
+ * } );
591
+ */
592
+ "bStateSave": false,
593
+
594
+
595
+ /**
596
+ * Customise the cookie and / or the parameters being stored when using
597
+ * DataTables with state saving enabled. This function is called whenever
598
+ * the cookie is modified, and it expects a fully formed cookie string to be
599
+ * returned. Note that the data object passed in is a Javascript object which
600
+ * must be converted to a string (JSON.stringify for example).
601
+ * @type function
602
+ * @param {string} sName Name of the cookie defined by DataTables
603
+ * @param {object} oData Data to be stored in the cookie
604
+ * @param {string} sExpires Cookie expires string
605
+ * @param {string} sPath Path of the cookie to set
606
+ * @returns {string} Cookie formatted string (which should be encoded by
607
+ * using encodeURIComponent())
608
+ * @dtopt Callbacks
609
+ *
610
+ * @example
611
+ * $(document).ready( function () {
612
+ * $('#example').dataTable( {
613
+ * "fnCookieCallback": function (sName, oData, sExpires, sPath) {
614
+ * // Customise oData or sName or whatever else here
615
+ * return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
616
+ * }
617
+ * } );
618
+ * } );
619
+ */
620
+ "fnCookieCallback": null,
621
+
622
+
623
+ /**
624
+ * This function is called when a TR element is created (and all TD child
625
+ * elements have been inserted), or registered if using a DOM source, allowing
626
+ * manipulation of the TR element (adding classes etc).
627
+ * @type function
628
+ * @param {node} nRow "TR" element for the current row
629
+ * @param {array} aData Raw data array for this row
630
+ * @param {int} iDataIndex The index of this row in aoData
631
+ * @dtopt Callbacks
632
+ *
633
+ * @example
634
+ * $(document).ready(function() {
635
+ * $('#example').dataTable( {
636
+ * "fnCreatedRow": function( nRow, aData, iDataIndex ) {
637
+ * // Bold the grade for all 'A' grade browsers
638
+ * if ( aData[4] == "A" )
639
+ * {
640
+ * $('td:eq(4)', nRow).html( '<b>A</b>' );
641
+ * }
642
+ * }
643
+ * } );
644
+ * } );
645
+ */
646
+ "fnCreatedRow": null,
647
+
648
+
649
+ /**
650
+ * This function is called on every 'draw' event, and allows you to
651
+ * dynamically modify any aspect you want about the created DOM.
652
+ * @type function
653
+ * @param {object} oSettings DataTables settings object
654
+ * @dtopt Callbacks
655
+ *
656
+ * @example
657
+ * $(document).ready( function() {
658
+ * $('#example').dataTable( {
659
+ * "fnDrawCallback": function( oSettings ) {
660
+ * alert( 'DataTables has redrawn the table' );
661
+ * }
662
+ * } );
663
+ * } );
664
+ */
665
+ "fnDrawCallback": null,
666
+
667
+
668
+ /**
669
+ * Identical to fnHeaderCallback() but for the table footer this function
670
+ * allows you to modify the table footer on every 'draw' even.
671
+ * @type function
672
+ * @param {node} nFoot "TR" element for the footer
673
+ * @param {array} aData Full table data (as derived from the original HTML)
674
+ * @param {int} iStart Index for the current display starting point in the
675
+ * display array
676
+ * @param {int} iEnd Index for the current display ending point in the
677
+ * display array
678
+ * @param {array int} aiDisplay Index array to translate the visual position
679
+ * to the full data array
680
+ * @dtopt Callbacks
681
+ *
682
+ * @example
683
+ * $(document).ready( function() {
684
+ * $('#example').dataTable( {
685
+ * "fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {
686
+ * nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;
687
+ * }
688
+ * } );
689
+ * } )
690
+ */
691
+ "fnFooterCallback": null,
692
+
693
+
694
+ /**
695
+ * When rendering large numbers in the information element for the table
696
+ * (i.e. "Showing 1 to 10 of 57 entries") DataTables will render large numbers
697
+ * to have a comma separator for the 'thousands' units (e.g. 1 million is
698
+ * rendered as "1,000,000") to help readability for the end user. This
699
+ * function will override the default method DataTables uses.
700
+ * @type function
701
+ * @member
702
+ * @param {int} iIn number to be formatted
703
+ * @returns {string} formatted string for DataTables to show the number
704
+ * @dtopt Callbacks
705
+ *
706
+ * @example
707
+ * $(document).ready(function() {
708
+ * $('#example').dataTable( {
709
+ * "fnFormatNumber": function ( iIn ) {
710
+ * if ( iIn &lt; 1000 ) {
711
+ * return iIn;
712
+ * } else {
713
+ * var
714
+ * s=(iIn+""),
715
+ * a=s.split(""), out="",
716
+ * iLen=s.length;
717
+ *
718
+ * for ( var i=0 ; i&lt;iLen ; i++ ) {
719
+ * if ( i%3 === 0 &amp;&amp; i !== 0 ) {
720
+ * out = "'"+out;
721
+ * }
722
+ * out = a[iLen-i-1]+out;
723
+ * }
724
+ * }
725
+ * return out;
726
+ * };
727
+ * } );
728
+ * } );
729
+ */
730
+ "fnFormatNumber": function ( iIn ) {
731
+ if ( iIn < 1000 )
732
+ {
733
+ // A small optimisation for what is likely to be the majority of use cases
734
+ return iIn;
735
+ }
736
+
737
+ var s=(iIn+""), a=s.split(""), out="", iLen=s.length;
738
+
739
+ for ( var i=0 ; i<iLen ; i++ )
740
+ {
741
+ if ( i%3 === 0 && i !== 0 )
742
+ {
743
+ out = this.oLanguage.sInfoThousands+out;
744
+ }
745
+ out = a[iLen-i-1]+out;
746
+ }
747
+ return out;
748
+ },
749
+
750
+
751
+ /**
752
+ * This function is called on every 'draw' event, and allows you to
753
+ * dynamically modify the header row. This can be used to calculate and
754
+ * display useful information about the table.
755
+ * @type function
756
+ * @param {node} nHead "TR" element for the header
757
+ * @param {array} aData Full table data (as derived from the original HTML)
758
+ * @param {int} iStart Index for the current display starting point in the
759
+ * display array
760
+ * @param {int} iEnd Index for the current display ending point in the
761
+ * display array
762
+ * @param {array int} aiDisplay Index array to translate the visual position
763
+ * to the full data array
764
+ * @dtopt Callbacks
765
+ *
766
+ * @example
767
+ * $(document).ready( function() {
768
+ * $('#example').dataTable( {
769
+ * "fnHeaderCallback": function( nHead, aData, iStart, iEnd, aiDisplay ) {
770
+ * nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
771
+ * }
772
+ * } );
773
+ * } )
774
+ */
775
+ "fnHeaderCallback": null,
776
+
777
+
778
+ /**
779
+ * The information element can be used to convey information about the current
780
+ * state of the table. Although the internationalisation options presented by
781
+ * DataTables are quite capable of dealing with most customisations, there may
782
+ * be times where you wish to customise the string further. This callback
783
+ * allows you to do exactly that.
784
+ * @type function
785
+ * @param {object} oSettings DataTables settings object
786
+ * @param {int} iStart Starting position in data for the draw
787
+ * @param {int} iEnd End position in data for the draw
788
+ * @param {int} iMax Total number of rows in the table (regardless of
789
+ * filtering)
790
+ * @param {int} iTotal Total number of rows in the data set, after filtering
791
+ * @param {string} sPre The string that DataTables has formatted using it's
792
+ * own rules
793
+ * @returns {string} The string to be displayed in the information element.
794
+ * @dtopt Callbacks
795
+ *
796
+ * @example
797
+ * $('#example').dataTable( {
798
+ * "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
799
+ * return iStart +" to "+ iEnd;
800
+ * }
801
+ * } );
802
+ */
803
+ "fnInfoCallback": null,
804
+
805
+
806
+ /**
807
+ * Called when the table has been initialised. Normally DataTables will
808
+ * initialise sequentially and there will be no need for this function,
809
+ * however, this does not hold true when using external language information
810
+ * since that is obtained using an async XHR call.
811
+ * @type function
812
+ * @param {object} oSettings DataTables settings object
813
+ * @param {object} json The JSON object request from the server - only
814
+ * present if client-side Ajax sourced data is used
815
+ * @dtopt Callbacks
816
+ *
817
+ * @example
818
+ * $(document).ready( function() {
819
+ * $('#example').dataTable( {
820
+ * "fnInitComplete": function(oSettings, json) {
821
+ * alert( 'DataTables has finished its initialisation.' );
822
+ * }
823
+ * } );
824
+ * } )
825
+ */
826
+ "fnInitComplete": null,
827
+
828
+
829
+ /**
830
+ * Called at the very start of each table draw and can be used to cancel the
831
+ * draw by returning false, any other return (including undefined) results in
832
+ * the full draw occurring).
833
+ * @type function
834
+ * @param {object} oSettings DataTables settings object
835
+ * @returns {boolean} False will cancel the draw, anything else (including no
836
+ * return) will allow it to complete.
837
+ * @dtopt Callbacks
838
+ *
839
+ * @example
840
+ * $(document).ready( function() {
841
+ * $('#example').dataTable( {
842
+ * "fnPreDrawCallback": function( oSettings ) {
843
+ * if ( $('#test').val() == 1 ) {
844
+ * return false;
845
+ * }
846
+ * }
847
+ * } );
848
+ * } );
849
+ */
850
+ "fnPreDrawCallback": null,
851
+
852
+
853
+ /**
854
+ * This function allows you to 'post process' each row after it have been
855
+ * generated for each table draw, but before it is rendered on screen. This
856
+ * function might be used for setting the row class name etc.
857
+ * @type function
858
+ * @param {node} nRow "TR" element for the current row
859
+ * @param {array} aData Raw data array for this row
860
+ * @param {int} iDisplayIndex The display index for the current table draw
861
+ * @param {int} iDisplayIndexFull The index of the data in the full list of
862
+ * rows (after filtering)
863
+ * @dtopt Callbacks
864
+ *
865
+ * @example
866
+ * $(document).ready(function() {
867
+ * $('#example').dataTable( {
868
+ * "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
869
+ * // Bold the grade for all 'A' grade browsers
870
+ * if ( aData[4] == "A" )
871
+ * {
872
+ * $('td:eq(4)', nRow).html( '<b>A</b>' );
873
+ * }
874
+ * }
875
+ * } );
876
+ * } );
877
+ */
878
+ "fnRowCallback": null,
879
+
880
+
881
+ /**
882
+ * This parameter allows you to override the default function which obtains
883
+ * the data from the server ($.getJSON) so something more suitable for your
884
+ * application. For example you could use POST data, or pull information from
885
+ * a Gears or AIR database.
886
+ * @type function
887
+ * @member
888
+ * @param {string} sSource HTTP source to obtain the data from (sAjaxSource)
889
+ * @param {array} aoData A key/value pair object containing the data to send
890
+ * to the server
891
+ * @param {function} fnCallback to be called on completion of the data get
892
+ * process that will draw the data on the page.
893
+ * @param {object} oSettings DataTables settings object
894
+ * @dtopt Callbacks
895
+ * @dtopt Server-side
896
+ *
897
+ * @example
898
+ * // POST data to server
899
+ * $(document).ready(function() {
900
+ * $('#example').dataTable( {
901
+ * "bProcessing": true,
902
+ * "bServerSide": true,
903
+ * "sAjaxSource": "xhr.php",
904
+ * "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
905
+ * oSettings.jqXHR = $.ajax( {
906
+ * "dataType": 'json',
907
+ * "type": "POST",
908
+ * "url": sSource,
909
+ * "data": aoData,
910
+ * "success": fnCallback
911
+ * } );
912
+ * }
913
+ * } );
914
+ * } );
915
+ */
916
+ "fnServerData": function ( sUrl, aoData, fnCallback, oSettings ) {
917
+ oSettings.jqXHR = $.ajax( {
918
+ "url": sUrl,
919
+ "data": aoData,
920
+ "success": function (json) {
921
+ $(oSettings.oInstance).trigger('xhr', oSettings);
922
+ fnCallback( json );
923
+ },
924
+ "dataType": "json",
925
+ "cache": false,
926
+ "type": oSettings.sServerMethod,
927
+ "error": function (xhr, error, thrown) {
928
+ if ( error == "parsererror" ) {
929
+ oSettings.oApi._fnLog( oSettings, 0, "DataTables warning: JSON data from "+
930
+ "server could not be parsed. This is caused by a JSON formatting error." );
931
+ }
932
+ }
933
+ } );
934
+ },
935
+
936
+
937
+ /**
938
+ * It is often useful to send extra data to the server when making an Ajax
939
+ * request - for example custom filtering information, and this callback
940
+ * function makes it trivial to send extra information to the server. The
941
+ * passed in parameter is the data set that has been constructed by
942
+ * DataTables, and you can add to this or modify it as you require.
943
+ * @type function
944
+ * @param {array} aoData Data array (array of objects which are name/value
945
+ * pairs) that has been constructed by DataTables and will be sent to the
946
+ * server. In the case of Ajax sourced data with server-side processing
947
+ * this will be an empty array, for server-side processing there will be a
948
+ * significant number of parameters!
949
+ * @returns {undefined} Ensure that you modify the aoData array passed in,
950
+ * as this is passed by reference.
951
+ * @dtopt Callbacks
952
+ * @dtopt Server-side
953
+ *
954
+ * @example
955
+ * $(document).ready(function() {
956
+ * $('#example').dataTable( {
957
+ * "bProcessing": true,
958
+ * "bServerSide": true,
959
+ * "sAjaxSource": "scripts/server_processing.php",
960
+ * "fnServerParams": function ( aoData ) {
961
+ * aoData.push( { "name": "more_data", "value": "my_value" } );
962
+ * }
963
+ * } );
964
+ * } );
965
+ */
966
+ "fnServerParams": null,
967
+
968
+
969
+ /**
970
+ * Load the table state. With this function you can define from where, and how, the
971
+ * state of a table is loaded. By default DataTables will load from its state saving
972
+ * cookie, but you might wish to use local storage (HTML5) or a server-side database.
973
+ * @type function
974
+ * @member
975
+ * @param {object} oSettings DataTables settings object
976
+ * @return {object} The DataTables state object to be loaded
977
+ * @dtopt Callbacks
978
+ *
979
+ * @example
980
+ * $(document).ready(function() {
981
+ * $('#example').dataTable( {
982
+ * "bStateSave": true,
983
+ * "fnStateLoad": function (oSettings) {
984
+ * var o;
985
+ *
986
+ * // Send an Ajax request to the server to get the data. Note that
987
+ * // this is a synchronous request.
988
+ * $.ajax( {
989
+ * "url": "/state_load",
990
+ * "async": false,
991
+ * "dataType": "json",
992
+ * "success": function (json) {
993
+ * o = json;
994
+ * }
995
+ * } );
996
+ *
997
+ * return o;
998
+ * }
999
+ * } );
1000
+ * } );
1001
+ */
1002
+ "fnStateLoad": function ( oSettings ) {
1003
+ var sData = this.oApi._fnReadCookie( oSettings.sCookiePrefix+oSettings.sInstance );
1004
+ var oData;
1005
+
1006
+ try {
1007
+ oData = (typeof $.parseJSON === 'function') ?
1008
+ $.parseJSON(sData) : eval( '('+sData+')' );
1009
+ } catch (e) {
1010
+ oData = null;
1011
+ }
1012
+
1013
+ return oData;
1014
+ },
1015
+
1016
+
1017
+ /**
1018
+ * Callback which allows modification of the saved state prior to loading that state.
1019
+ * This callback is called when the table is loading state from the stored data, but
1020
+ * prior to the settings object being modified by the saved state. Note that for
1021
+ * plug-in authors, you should use the 'stateLoadParams' event to load parameters for
1022
+ * a plug-in.
1023
+ * @type function
1024
+ * @param {object} oSettings DataTables settings object
1025
+ * @param {object} oData The state object that is to be loaded
1026
+ * @dtopt Callbacks
1027
+ *
1028
+ * @example
1029
+ * // Remove a saved filter, so filtering is never loaded
1030
+ * $(document).ready(function() {
1031
+ * $('#example').dataTable( {
1032
+ * "bStateSave": true,
1033
+ * "fnStateLoadParams": function (oSettings, oData) {
1034
+ * oData.oSearch.sSearch = "";
1035
+ * } );
1036
+ * } );
1037
+ *
1038
+ * @example
1039
+ * // Disallow state loading by returning false
1040
+ * $(document).ready(function() {
1041
+ * $('#example').dataTable( {
1042
+ * "bStateSave": true,
1043
+ * "fnStateLoadParams": function (oSettings, oData) {
1044
+ * return false;
1045
+ * } );
1046
+ * } );
1047
+ */
1048
+ "fnStateLoadParams": null,
1049
+
1050
+
1051
+ /**
1052
+ * Callback that is called when the state has been loaded from the state saving method
1053
+ * and the DataTables settings object has been modified as a result of the loaded state.
1054
+ * @type function
1055
+ * @param {object} oSettings DataTables settings object
1056
+ * @param {object} oData The state object that was loaded
1057
+ * @dtopt Callbacks
1058
+ *
1059
+ * @example
1060
+ * // Show an alert with the filtering value that was saved
1061
+ * $(document).ready(function() {
1062
+ * $('#example').dataTable( {
1063
+ * "bStateSave": true,
1064
+ * "fnStateLoaded": function (oSettings, oData) {
1065
+ * alert( 'Saved filter was: '+oData.oSearch.sSearch );
1066
+ * } );
1067
+ * } );
1068
+ */
1069
+ "fnStateLoaded": null,
1070
+
1071
+
1072
+ /**
1073
+ * Save the table state. This function allows you to define where and how the state
1074
+ * information for the table is stored - by default it will use a cookie, but you
1075
+ * might want to use local storage (HTML5) or a server-side database.
1076
+ * @type function
1077
+ * @member
1078
+ * @param {object} oSettings DataTables settings object
1079
+ * @param {object} oData The state object to be saved
1080
+ * @dtopt Callbacks
1081
+ *
1082
+ * @example
1083
+ * $(document).ready(function() {
1084
+ * $('#example').dataTable( {
1085
+ * "bStateSave": true,
1086
+ * "fnStateSave": function (oSettings, oData) {
1087
+ * // Send an Ajax request to the server with the state object
1088
+ * $.ajax( {
1089
+ * "url": "/state_save",
1090
+ * "data": oData,
1091
+ * "dataType": "json",
1092
+ * "method": "POST"
1093
+ * "success": function () {}
1094
+ * } );
1095
+ * }
1096
+ * } );
1097
+ * } );
1098
+ */
1099
+ "fnStateSave": function ( oSettings, oData ) {
1100
+ this.oApi._fnCreateCookie(
1101
+ oSettings.sCookiePrefix+oSettings.sInstance,
1102
+ this.oApi._fnJsonString(oData),
1103
+ oSettings.iCookieDuration,
1104
+ oSettings.sCookiePrefix,
1105
+ oSettings.fnCookieCallback
1106
+ );
1107
+ },
1108
+
1109
+
1110
+ /**
1111
+ * Callback which allows modification of the state to be saved. Called when the table
1112
+ * has changed state a new state save is required. This method allows modification of
1113
+ * the state saving object prior to actually doing the save, including addition or
1114
+ * other state properties or modification. Note that for plug-in authors, you should
1115
+ * use the 'stateSaveParams' event to save parameters for a plug-in.
1116
+ * @type function
1117
+ * @param {object} oSettings DataTables settings object
1118
+ * @param {object} oData The state object to be saved
1119
+ * @dtopt Callbacks
1120
+ *
1121
+ * @example
1122
+ * // Remove a saved filter, so filtering is never saved
1123
+ * $(document).ready(function() {
1124
+ * $('#example').dataTable( {
1125
+ * "bStateSave": true,
1126
+ * "fnStateSaveParams": function (oSettings, oData) {
1127
+ * oData.oSearch.sSearch = "";
1128
+ * } );
1129
+ * } );
1130
+ */
1131
+ "fnStateSaveParams": null,
1132
+
1133
+
1134
+ /**
1135
+ * Duration of the cookie which is used for storing session information. This
1136
+ * value is given in seconds.
1137
+ * @type int
1138
+ * @default 7200 <i>(2 hours)</i>
1139
+ * @dtopt Options
1140
+ *
1141
+ * @example
1142
+ * $(document).ready( function() {
1143
+ * $('#example').dataTable( {
1144
+ * "iCookieDuration": 60*60*24 // 1 day
1145
+ * } );
1146
+ * } )
1147
+ */
1148
+ "iCookieDuration": 7200,
1149
+
1150
+
1151
+ /**
1152
+ * When enabled DataTables will not make a request to the server for the first
1153
+ * page draw - rather it will use the data already on the page (no sorting etc
1154
+ * will be applied to it), thus saving on an XHR at load time. iDeferLoading
1155
+ * is used to indicate that deferred loading is required, but it is also used
1156
+ * to tell DataTables how many records there are in the full table (allowing
1157
+ * the information element and pagination to be displayed correctly). In the case
1158
+ * where a filtering is applied to the table on initial load, this can be
1159
+ * indicated by giving the parameter as an array, where the first element is
1160
+ * the number of records available after filtering and the second element is the
1161
+ * number of records without filtering (allowing the table information element
1162
+ * to be shown correctly).
1163
+ * @type int | array
1164
+ * @default null
1165
+ * @dtopt Options
1166
+ *
1167
+ * @example
1168
+ * // 57 records available in the table, no filtering applied
1169
+ * $(document).ready(function() {
1170
+ * $('#example').dataTable( {
1171
+ * "bServerSide": true,
1172
+ * "sAjaxSource": "scripts/server_processing.php",
1173
+ * "iDeferLoading": 57
1174
+ * } );
1175
+ * } );
1176
+ *
1177
+ * @example
1178
+ * // 57 records after filtering, 100 without filtering (an initial filter applied)
1179
+ * $(document).ready(function() {
1180
+ * $('#example').dataTable( {
1181
+ * "bServerSide": true,
1182
+ * "sAjaxSource": "scripts/server_processing.php",
1183
+ * "iDeferLoading": [ 57, 100 ],
1184
+ * "oSearch": {
1185
+ * "sSearch": "my_filter"
1186
+ * }
1187
+ * } );
1188
+ * } );
1189
+ */
1190
+ "iDeferLoading": null,
1191
+
1192
+
1193
+ /**
1194
+ * Number of rows to display on a single page when using pagination. If
1195
+ * feature enabled (bLengthChange) then the end user will be able to override
1196
+ * this to a custom setting using a pop-up menu.
1197
+ * @type int
1198
+ * @default 10
1199
+ * @dtopt Options
1200
+ *
1201
+ * @example
1202
+ * $(document).ready( function() {
1203
+ * $('#example').dataTable( {
1204
+ * "iDisplayLength": 50
1205
+ * } );
1206
+ * } )
1207
+ */
1208
+ "iDisplayLength": 10,
1209
+
1210
+
1211
+ /**
1212
+ * Define the starting point for data display when using DataTables with
1213
+ * pagination. Note that this parameter is the number of records, rather than
1214
+ * the page number, so if you have 10 records per page and want to start on
1215
+ * the third page, it should be "20".
1216
+ * @type int
1217
+ * @default 0
1218
+ * @dtopt Options
1219
+ *
1220
+ * @example
1221
+ * $(document).ready( function() {
1222
+ * $('#example').dataTable( {
1223
+ * "iDisplayStart": 20
1224
+ * } );
1225
+ * } )
1226
+ */
1227
+ "iDisplayStart": 0,
1228
+
1229
+
1230
+ /**
1231
+ * The scroll gap is the amount of scrolling that is left to go before
1232
+ * DataTables will load the next 'page' of data automatically. You typically
1233
+ * want a gap which is big enough that the scrolling will be smooth for the
1234
+ * user, while not so large that it will load more data than need.
1235
+ * @type int
1236
+ * @default 100
1237
+ * @dtopt Options
1238
+ *
1239
+ * @example
1240
+ * $(document).ready(function() {
1241
+ * $('#example').dataTable( {
1242
+ * "bScrollInfinite": true,
1243
+ * "bScrollCollapse": true,
1244
+ * "sScrollY": "200px",
1245
+ * "iScrollLoadGap": 50
1246
+ * } );
1247
+ * } );
1248
+ */
1249
+ "iScrollLoadGap": 100,
1250
+
1251
+
1252
+ /**
1253
+ * By default DataTables allows keyboard navigation of the table (sorting, paging,
1254
+ * and filtering) by adding a tabindex attribute to the required elements. This
1255
+ * allows you to tab through the controls and press the enter key to activate them.
1256
+ * The tabindex is default 0, meaning that the tab follows the flow of the document.
1257
+ * You can overrule this using this parameter if you wish. Use a value of -1 to
1258
+ * disable built-in keyboard navigation.
1259
+ * @type int
1260
+ * @default 0
1261
+ * @dtopt Options
1262
+ *
1263
+ * @example
1264
+ * $(document).ready(function() {
1265
+ * $('#example').dataTable( {
1266
+ * "iTabIndex": 1
1267
+ * } );
1268
+ * } );
1269
+ */
1270
+ "iTabIndex": 0,
1271
+
1272
+
1273
+ /**
1274
+ * All strings that DataTables uses in the user interface that it creates
1275
+ * are defined in this object, allowing you to modified them individually or
1276
+ * completely replace them all as required.
1277
+ * @namespace
1278
+ */
1279
+ "oLanguage": {
1280
+ /**
1281
+ * Strings that are used for WAI-ARIA labels and controls only (these are not
1282
+ * actually visible on the page, but will be read by screenreaders, and thus
1283
+ * must be internationalised as well).
1284
+ * @namespace
1285
+ */
1286
+ "oAria": {
1287
+ /**
1288
+ * ARIA label that is added to the table headers when the column may be
1289
+ * sorted ascending by activing the column (click or return when focused).
1290
+ * Note that the column header is prefixed to this string.
1291
+ * @type string
1292
+ * @default : activate to sort column ascending
1293
+ * @dtopt Language
1294
+ *
1295
+ * @example
1296
+ * $(document).ready(function() {
1297
+ * $('#example').dataTable( {
1298
+ * "oLanguage": {
1299
+ * "oAria": {
1300
+ * "sSortAscending": " - click/return to sort ascending"
1301
+ * }
1302
+ * }
1303
+ * } );
1304
+ * } );
1305
+ */
1306
+ "sSortAscending": ": activate to sort column ascending",
1307
+
1308
+ /**
1309
+ * ARIA label that is added to the table headers when the column may be
1310
+ * sorted descending by activing the column (click or return when focused).
1311
+ * Note that the column header is prefixed to this string.
1312
+ * @type string
1313
+ * @default : activate to sort column ascending
1314
+ * @dtopt Language
1315
+ *
1316
+ * @example
1317
+ * $(document).ready(function() {
1318
+ * $('#example').dataTable( {
1319
+ * "oLanguage": {
1320
+ * "oAria": {
1321
+ * "sSortDescending": " - click/return to sort descending"
1322
+ * }
1323
+ * }
1324
+ * } );
1325
+ * } );
1326
+ */
1327
+ "sSortDescending": ": activate to sort column descending"
1328
+ },
1329
+
1330
+ /**
1331
+ * Pagination string used by DataTables for the two built-in pagination
1332
+ * control types ("two_button" and "full_numbers")
1333
+ * @namespace
1334
+ */
1335
+ "oPaginate": {
1336
+ /**
1337
+ * Text to use when using the 'full_numbers' type of pagination for the
1338
+ * button to take the user to the first page.
1339
+ * @type string
1340
+ * @default First
1341
+ * @dtopt Language
1342
+ *
1343
+ * @example
1344
+ * $(document).ready(function() {
1345
+ * $('#example').dataTable( {
1346
+ * "oLanguage": {
1347
+ * "oPaginate": {
1348
+ * "sFirst": "First page"
1349
+ * }
1350
+ * }
1351
+ * } );
1352
+ * } );
1353
+ */
1354
+ "sFirst": "First",
1355
+
1356
+
1357
+ /**
1358
+ * Text to use when using the 'full_numbers' type of pagination for the
1359
+ * button to take the user to the last page.
1360
+ * @type string
1361
+ * @default Last
1362
+ * @dtopt Language
1363
+ *
1364
+ * @example
1365
+ * $(document).ready(function() {
1366
+ * $('#example').dataTable( {
1367
+ * "oLanguage": {
1368
+ * "oPaginate": {
1369
+ * "sLast": "Last page"
1370
+ * }
1371
+ * }
1372
+ * } );
1373
+ * } );
1374
+ */
1375
+ "sLast": "Last",
1376
+
1377
+
1378
+ /**
1379
+ * Text to use when using the 'full_numbers' type of pagination for the
1380
+ * button to take the user to the next page.
1381
+ * @type string
1382
+ * @default Next
1383
+ * @dtopt Language
1384
+ *
1385
+ * @example
1386
+ * $(document).ready(function() {
1387
+ * $('#example').dataTable( {
1388
+ * "oLanguage": {
1389
+ * "oPaginate": {
1390
+ * "sNext": "Next page"
1391
+ * }
1392
+ * }
1393
+ * } );
1394
+ * } );
1395
+ */
1396
+ "sNext": "Next",
1397
+
1398
+
1399
+ /**
1400
+ * Text to use when using the 'full_numbers' type of pagination for the
1401
+ * button to take the user to the previous page.
1402
+ * @type string
1403
+ * @default Previous
1404
+ * @dtopt Language
1405
+ *
1406
+ * @example
1407
+ * $(document).ready(function() {
1408
+ * $('#example').dataTable( {
1409
+ * "oLanguage": {
1410
+ * "oPaginate": {
1411
+ * "sPrevious": "Previous page"
1412
+ * }
1413
+ * }
1414
+ * } );
1415
+ * } );
1416
+ */
1417
+ "sPrevious": "Previous"
1418
+ },
1419
+
1420
+ /**
1421
+ * This string is shown in preference to sZeroRecords when the table is
1422
+ * empty of data (regardless of filtering). Note that this is an optional
1423
+ * parameter - if it is not given, the value of sZeroRecords will be used
1424
+ * instead (either the default or given value).
1425
+ * @type string
1426
+ * @default No data available in table
1427
+ * @dtopt Language
1428
+ *
1429
+ * @example
1430
+ * $(document).ready(function() {
1431
+ * $('#example').dataTable( {
1432
+ * "oLanguage": {
1433
+ * "sEmptyTable": "No data available in table"
1434
+ * }
1435
+ * } );
1436
+ * } );
1437
+ */
1438
+ "sEmptyTable": "No data available in table",
1439
+
1440
+
1441
+ /**
1442
+ * This string gives information to the end user about the information that
1443
+ * is current on display on the page. The _START_, _END_ and _TOTAL_
1444
+ * variables are all dynamically replaced as the table display updates, and
1445
+ * can be freely moved or removed as the language requirements change.
1446
+ * @type string
1447
+ * @default Showing _START_ to _END_ of _TOTAL_ entries
1448
+ * @dtopt Language
1449
+ *
1450
+ * @example
1451
+ * $(document).ready(function() {
1452
+ * $('#example').dataTable( {
1453
+ * "oLanguage": {
1454
+ * "sInfo": "Got a total of _TOTAL_ entries to show (_START_ to _END_)"
1455
+ * }
1456
+ * } );
1457
+ * } );
1458
+ */
1459
+ "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries",
1460
+
1461
+
1462
+ /**
1463
+ * Display information string for when the table is empty. Typically the
1464
+ * format of this string should match sInfo.
1465
+ * @type string
1466
+ * @default Showing 0 to 0 of 0 entries
1467
+ * @dtopt Language
1468
+ *
1469
+ * @example
1470
+ * $(document).ready(function() {
1471
+ * $('#example').dataTable( {
1472
+ * "oLanguage": {
1473
+ * "sInfoEmpty": "No entries to show"
1474
+ * }
1475
+ * } );
1476
+ * } );
1477
+ */
1478
+ "sInfoEmpty": "Showing 0 to 0 of 0 entries",
1479
+
1480
+
1481
+ /**
1482
+ * When a user filters the information in a table, this string is appended
1483
+ * to the information (sInfo) to give an idea of how strong the filtering
1484
+ * is. The variable _MAX_ is dynamically updated.
1485
+ * @type string
1486
+ * @default (filtered from _MAX_ total entries)
1487
+ * @dtopt Language
1488
+ *
1489
+ * @example
1490
+ * $(document).ready(function() {
1491
+ * $('#example').dataTable( {
1492
+ * "oLanguage": {
1493
+ * "sInfoFiltered": " - filtering from _MAX_ records"
1494
+ * }
1495
+ * } );
1496
+ * } );
1497
+ */
1498
+ "sInfoFiltered": "(filtered from _MAX_ total entries)",
1499
+
1500
+
1501
+ /**
1502
+ * If can be useful to append extra information to the info string at times,
1503
+ * and this variable does exactly that. This information will be appended to
1504
+ * the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are
1505
+ * being used) at all times.
1506
+ * @type string
1507
+ * @default <i>Empty string</i>
1508
+ * @dtopt Language
1509
+ *
1510
+ * @example
1511
+ * $(document).ready(function() {
1512
+ * $('#example').dataTable( {
1513
+ * "oLanguage": {
1514
+ * "sInfoPostFix": "All records shown are derived from real information."
1515
+ * }
1516
+ * } );
1517
+ * } );
1518
+ */
1519
+ "sInfoPostFix": "",
1520
+
1521
+
1522
+ /**
1523
+ * DataTables has a build in number formatter (fnFormatNumber) which is used
1524
+ * to format large numbers that are used in the table information. By
1525
+ * default a comma is used, but this can be trivially changed to any
1526
+ * character you wish with this parameter.
1527
+ * @type string
1528
+ * @default ,
1529
+ * @dtopt Language
1530
+ *
1531
+ * @example
1532
+ * $(document).ready(function() {
1533
+ * $('#example').dataTable( {
1534
+ * "oLanguage": {
1535
+ * "sInfoThousands": "'"
1536
+ * }
1537
+ * } );
1538
+ * } );
1539
+ */
1540
+ "sInfoThousands": ",",
1541
+
1542
+
1543
+ /**
1544
+ * Detail the action that will be taken when the drop down menu for the
1545
+ * pagination length option is changed. The '_MENU_' variable is replaced
1546
+ * with a default select list of 10, 25, 50 and 100, and can be replaced
1547
+ * with a custom select box if required.
1548
+ * @type string
1549
+ * @default Show _MENU_ entries
1550
+ * @dtopt Language
1551
+ *
1552
+ * @example
1553
+ * // Language change only
1554
+ * $(document).ready(function() {
1555
+ * $('#example').dataTable( {
1556
+ * "oLanguage": {
1557
+ * "sLengthMenu": "Display _MENU_ records"
1558
+ * }
1559
+ * } );
1560
+ * } );
1561
+ *
1562
+ * @example
1563
+ * // Language and options change
1564
+ * $(document).ready(function() {
1565
+ * $('#example').dataTable( {
1566
+ * "oLanguage": {
1567
+ * "sLengthMenu": 'Display <select>'+
1568
+ * '<option value="10">10</option>'+
1569
+ * '<option value="20">20</option>'+
1570
+ * '<option value="30">30</option>'+
1571
+ * '<option value="40">40</option>'+
1572
+ * '<option value="50">50</option>'+
1573
+ * '<option value="-1">All</option>'+
1574
+ * '</select> records'
1575
+ * }
1576
+ * } );
1577
+ * } );
1578
+ */
1579
+ "sLengthMenu": "Show _MENU_ entries",
1580
+
1581
+
1582
+ /**
1583
+ * When using Ajax sourced data and during the first draw when DataTables is
1584
+ * gathering the data, this message is shown in an empty row in the table to
1585
+ * indicate to the end user the the data is being loaded. Note that this
1586
+ * parameter is not used when loading data by server-side processing, just
1587
+ * Ajax sourced data with client-side processing.
1588
+ * @type string
1589
+ * @default Loading...
1590
+ * @dtopt Language
1591
+ *
1592
+ * @example
1593
+ * $(document).ready( function() {
1594
+ * $('#example').dataTable( {
1595
+ * "oLanguage": {
1596
+ * "sLoadingRecords": "Please wait - loading..."
1597
+ * }
1598
+ * } );
1599
+ * } );
1600
+ */
1601
+ "sLoadingRecords": "Loading...",
1602
+
1603
+
1604
+ /**
1605
+ * Text which is displayed when the table is processing a user action
1606
+ * (usually a sort command or similar).
1607
+ * @type string
1608
+ * @default Processing...
1609
+ * @dtopt Language
1610
+ *
1611
+ * @example
1612
+ * $(document).ready(function() {
1613
+ * $('#example').dataTable( {
1614
+ * "oLanguage": {
1615
+ * "sProcessing": "DataTables is currently busy"
1616
+ * }
1617
+ * } );
1618
+ * } );
1619
+ */
1620
+ "sProcessing": "Processing...",
1621
+
1622
+
1623
+ /**
1624
+ * Details the actions that will be taken when the user types into the
1625
+ * filtering input text box. The variable "_INPUT_", if used in the string,
1626
+ * is replaced with the HTML text box for the filtering input allowing
1627
+ * control over where it appears in the string. If "_INPUT_" is not given
1628
+ * then the input box is appended to the string automatically.
1629
+ * @type string
1630
+ * @default Search:
1631
+ * @dtopt Language
1632
+ *
1633
+ * @example
1634
+ * // Input text box will be appended at the end automatically
1635
+ * $(document).ready(function() {
1636
+ * $('#example').dataTable( {
1637
+ * "oLanguage": {
1638
+ * "sSearch": "Filter records:"
1639
+ * }
1640
+ * } );
1641
+ * } );
1642
+ *
1643
+ * @example
1644
+ * // Specify where the filter should appear
1645
+ * $(document).ready(function() {
1646
+ * $('#example').dataTable( {
1647
+ * "oLanguage": {
1648
+ * "sSearch": "Apply filter _INPUT_ to table"
1649
+ * }
1650
+ * } );
1651
+ * } );
1652
+ */
1653
+ "sSearch": "Search:",
1654
+
1655
+
1656
+ /**
1657
+ * All of the language information can be stored in a file on the
1658
+ * server-side, which DataTables will look up if this parameter is passed.
1659
+ * It must store the URL of the language file, which is in a JSON format,
1660
+ * and the object has the same properties as the oLanguage object in the
1661
+ * initialiser object (i.e. the above parameters). Please refer to one of
1662
+ * the example language files to see how this works in action.
1663
+ * @type string
1664
+ * @default <i>Empty string - i.e. disabled</i>
1665
+ * @dtopt Language
1666
+ *
1667
+ * @example
1668
+ * $(document).ready(function() {
1669
+ * $('#example').dataTable( {
1670
+ * "oLanguage": {
1671
+ * "sUrl": "http://www.sprymedia.co.uk/dataTables/lang.txt"
1672
+ * }
1673
+ * } );
1674
+ * } );
1675
+ */
1676
+ "sUrl": "",
1677
+
1678
+
1679
+ /**
1680
+ * Text shown inside the table records when the is no information to be
1681
+ * displayed after filtering. sEmptyTable is shown when there is simply no
1682
+ * information in the table at all (regardless of filtering).
1683
+ * @type string
1684
+ * @default No matching records found
1685
+ * @dtopt Language
1686
+ *
1687
+ * @example
1688
+ * $(document).ready(function() {
1689
+ * $('#example').dataTable( {
1690
+ * "oLanguage": {
1691
+ * "sZeroRecords": "No records to display"
1692
+ * }
1693
+ * } );
1694
+ * } );
1695
+ */
1696
+ "sZeroRecords": "No matching records found"
1697
+ },
1698
+
1699
+
1700
+ /**
1701
+ * This parameter allows you to have define the global filtering state at
1702
+ * initialisation time. As an object the "sSearch" parameter must be
1703
+ * defined, but all other parameters are optional. When "bRegex" is true,
1704
+ * the search string will be treated as a regular expression, when false
1705
+ * (default) it will be treated as a straight string. When "bSmart"
1706
+ * DataTables will use it's smart filtering methods (to word match at
1707
+ * any point in the data), when false this will not be done.
1708
+ * @namespace
1709
+ * @extends DataTable.models.oSearch
1710
+ * @dtopt Options
1711
+ *
1712
+ * @example
1713
+ * $(document).ready( function() {
1714
+ * $('#example').dataTable( {
1715
+ * "oSearch": {"sSearch": "Initial search"}
1716
+ * } );
1717
+ * } )
1718
+ */
1719
+ "oSearch": $.extend( {}, DataTable.models.oSearch ),
1720
+
1721
+
1722
+ /**
1723
+ * By default DataTables will look for the property 'aaData' when obtaining
1724
+ * data from an Ajax source or for server-side processing - this parameter
1725
+ * allows that property to be changed. You can use Javascript dotted object
1726
+ * notation to get a data source for multiple levels of nesting.
1727
+ * @type string
1728
+ * @default aaData
1729
+ * @dtopt Options
1730
+ * @dtopt Server-side
1731
+ *
1732
+ * @example
1733
+ * // Get data from { "data": [...] }
1734
+ * $(document).ready(function() {
1735
+ * var oTable = $('#example').dataTable( {
1736
+ * "sAjaxSource": "sources/data.txt",
1737
+ * "sAjaxDataProp": "data"
1738
+ * } );
1739
+ * } );
1740
+ *
1741
+ * @example
1742
+ * // Get data from { "data": { "inner": [...] } }
1743
+ * $(document).ready(function() {
1744
+ * var oTable = $('#example').dataTable( {
1745
+ * "sAjaxSource": "sources/data.txt",
1746
+ * "sAjaxDataProp": "data.inner"
1747
+ * } );
1748
+ * } );
1749
+ */
1750
+ "sAjaxDataProp": "aaData",
1751
+
1752
+
1753
+ /**
1754
+ * You can instruct DataTables to load data from an external source using this
1755
+ * parameter (use aData if you want to pass data in you already have). Simply
1756
+ * provide a url a JSON object can be obtained from. This object must include
1757
+ * the parameter 'aaData' which is the data source for the table.
1758
+ * @type string
1759
+ * @default null
1760
+ * @dtopt Options
1761
+ * @dtopt Server-side
1762
+ *
1763
+ * @example
1764
+ * $(document).ready( function() {
1765
+ * $('#example').dataTable( {
1766
+ * "sAjaxSource": "http://www.sprymedia.co.uk/dataTables/json.php"
1767
+ * } );
1768
+ * } )
1769
+ */
1770
+ "sAjaxSource": null,
1771
+
1772
+
1773
+ /**
1774
+ * This parameter can be used to override the default prefix that DataTables
1775
+ * assigns to a cookie when state saving is enabled.
1776
+ * @type string
1777
+ * @default SpryMedia_DataTables_
1778
+ * @dtopt Options
1779
+ *
1780
+ * @example
1781
+ * $(document).ready(function() {
1782
+ * $('#example').dataTable( {
1783
+ * "sCookiePrefix": "my_datatable_",
1784
+ * } );
1785
+ * } );
1786
+ */
1787
+ "sCookiePrefix": "SpryMedia_DataTables_",
1788
+
1789
+
1790
+ /**
1791
+ * This initialisation variable allows you to specify exactly where in the
1792
+ * DOM you want DataTables to inject the various controls it adds to the page
1793
+ * (for example you might want the pagination controls at the top of the
1794
+ * table). DIV elements (with or without a custom class) can also be added to
1795
+ * aid styling. The follow syntax is used:
1796
+ * <ul>
1797
+ * <li>The following options are allowed:
1798
+ * <ul>
1799
+ * <li>'l' - Length changing</li
1800
+ * <li>'f' - Filtering input</li>
1801
+ * <li>'t' - The table!</li>
1802
+ * <li>'i' - Information</li>
1803
+ * <li>'p' - Pagination</li>
1804
+ * <li>'r' - pRocessing</li>
1805
+ * </ul>
1806
+ * </li>
1807
+ * <li>The following constants are allowed:
1808
+ * <ul>
1809
+ * <li>'H' - jQueryUI theme "header" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')</li>
1810
+ * <li>'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')</li>
1811
+ * </ul>
1812
+ * </li>
1813
+ * <li>The following syntax is expected:
1814
+ * <ul>
1815
+ * <li>'&lt;' and '&gt;' - div elements</li>
1816
+ * <li>'&lt;"class" and '&gt;' - div with a class</li>
1817
+ * <li>'&lt;"#id" and '&gt;' - div with an ID</li>
1818
+ * </ul>
1819
+ * </li>
1820
+ * <li>Examples:
1821
+ * <ul>
1822
+ * <li>'&lt;"wrapper"flipt&gt;'</li>
1823
+ * <li>'&lt;lf&lt;t&gt;ip&gt;'</li>
1824
+ * </ul>
1825
+ * </li>
1826
+ * </ul>
1827
+ * @type string
1828
+ * @default lfrtip <i>(when bJQueryUI is false)</i> <b>or</b>
1829
+ * <"H"lfr>t<"F"ip> <i>(when bJQueryUI is true)</i>
1830
+ * @dtopt Options
1831
+ *
1832
+ * @example
1833
+ * $(document).ready(function() {
1834
+ * $('#example').dataTable( {
1835
+ * "sDom": '&lt;"top"i&gt;rt&lt;"bottom"flp&gt;&lt;"clear"&gt;'
1836
+ * } );
1837
+ * } );
1838
+ */
1839
+ "sDom": "lfrtip",
1840
+
1841
+
1842
+ /**
1843
+ * DataTables features two different built-in pagination interaction methods
1844
+ * ('two_button' or 'full_numbers') which present different page controls to
1845
+ * the end user. Further methods can be added using the API (see below).
1846
+ * @type string
1847
+ * @default two_button
1848
+ * @dtopt Options
1849
+ *
1850
+ * @example
1851
+ * $(document).ready( function() {
1852
+ * $('#example').dataTable( {
1853
+ * "sPaginationType": "full_numbers"
1854
+ * } );
1855
+ * } )
1856
+ */
1857
+ "sPaginationType": "two_button",
1858
+
1859
+
1860
+ /**
1861
+ * Enable horizontal scrolling. When a table is too wide to fit into a certain
1862
+ * layout, or you have a large number of columns in the table, you can enable
1863
+ * x-scrolling to show the table in a viewport, which can be scrolled. This
1864
+ * property can be any CSS unit, or a number (in which case it will be treated
1865
+ * as a pixel measurement).
1866
+ * @type string
1867
+ * @default <i>blank string - i.e. disabled</i>
1868
+ * @dtopt Features
1869
+ *
1870
+ * @example
1871
+ * $(document).ready(function() {
1872
+ * $('#example').dataTable( {
1873
+ * "sScrollX": "100%",
1874
+ * "bScrollCollapse": true
1875
+ * } );
1876
+ * } );
1877
+ */
1878
+ "sScrollX": "",
1879
+
1880
+
1881
+ /**
1882
+ * This property can be used to force a DataTable to use more width than it
1883
+ * might otherwise do when x-scrolling is enabled. For example if you have a
1884
+ * table which requires to be well spaced, this parameter is useful for
1885
+ * "over-sizing" the table, and thus forcing scrolling. This property can by
1886
+ * any CSS unit, or a number (in which case it will be treated as a pixel
1887
+ * measurement).
1888
+ * @type string
1889
+ * @default <i>blank string - i.e. disabled</i>
1890
+ * @dtopt Options
1891
+ *
1892
+ * @example
1893
+ * $(document).ready(function() {
1894
+ * $('#example').dataTable( {
1895
+ * "sScrollX": "100%",
1896
+ * "sScrollXInner": "110%"
1897
+ * } );
1898
+ * } );
1899
+ */
1900
+ "sScrollXInner": "",
1901
+
1902
+
1903
+ /**
1904
+ * Enable vertical scrolling. Vertical scrolling will constrain the DataTable
1905
+ * to the given height, and enable scrolling for any data which overflows the
1906
+ * current viewport. This can be used as an alternative to paging to display
1907
+ * a lot of data in a small area (although paging and scrolling can both be
1908
+ * enabled at the same time). This property can be any CSS unit, or a number
1909
+ * (in which case it will be treated as a pixel measurement).
1910
+ * @type string
1911
+ * @default <i>blank string - i.e. disabled</i>
1912
+ * @dtopt Features
1913
+ *
1914
+ * @example
1915
+ * $(document).ready(function() {
1916
+ * $('#example').dataTable( {
1917
+ * "sScrollY": "200px",
1918
+ * "bPaginate": false
1919
+ * } );
1920
+ * } );
1921
+ */
1922
+ "sScrollY": "",
1923
+
1924
+
1925
+ /**
1926
+ * Set the HTTP method that is used to make the Ajax call for server-side
1927
+ * processing or Ajax sourced data.
1928
+ * @type string
1929
+ * @default GET
1930
+ * @dtopt Options
1931
+ * @dtopt Server-side
1932
+ *
1933
+ * @example
1934
+ * $(document).ready(function() {
1935
+ * $('#example').dataTable( {
1936
+ * "bServerSide": true,
1937
+ * "sAjaxSource": "scripts/post.php",
1938
+ * "sServerMethod": "POST"
1939
+ * } );
1940
+ * } );
1941
+ */
1942
+ "sServerMethod": "GET"
1943
+ };
1944
+