classiccms 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
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
+