classiccms 0.5.5 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/classiccms.gemspec +1 -0
- data/lib/classiccms/application.rb +1 -0
- data/lib/classiccms/controllers/admin.rb +28 -0
- data/lib/classiccms/controllers/cms.rb +14 -11
- data/lib/classiccms/helpers.rb +8 -0
- data/lib/classiccms/public/admin/bootstrap/css/bootstrap-responsive.css +815 -0
- data/lib/classiccms/public/admin/bootstrap/css/bootstrap-responsive.min.css +9 -0
- data/lib/classiccms/public/admin/bootstrap/css/bootstrap.css +4983 -0
- data/lib/classiccms/public/admin/bootstrap/css/bootstrap.min.css +9 -0
- data/lib/classiccms/public/admin/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/lib/classiccms/public/admin/bootstrap/img/glyphicons-halflings.png +0 -0
- data/lib/classiccms/public/admin/bootstrap/index.js +14 -0
- data/lib/classiccms/public/admin/bootstrap/js/bootstrap.js +1825 -0
- data/lib/classiccms/public/admin/bootstrap/js/bootstrap.min.js +6 -0
- data/lib/classiccms/public/admin/datatables/css/demo_page.css +107 -0
- data/lib/classiccms/public/admin/datatables/css/demo_table.css +556 -0
- data/lib/classiccms/public/admin/datatables/css/demo_table_jui.css +526 -0
- data/lib/classiccms/public/admin/datatables/css/jquery.dataTables.css +220 -0
- data/lib/classiccms/public/admin/datatables/css/jquery.dataTables_themeroller.css +245 -0
- data/lib/classiccms/public/admin/datatables/images/Sorting icons.psd +0 -0
- data/lib/classiccms/public/admin/datatables/images/back_disabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/back_enabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/back_enabled_hover.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/favicon.ico +0 -0
- data/lib/classiccms/public/admin/datatables/images/forward_disabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/forward_enabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/forward_enabled_hover.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/sort_asc.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/sort_asc_disabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/sort_both.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/sort_desc.png +0 -0
- data/lib/classiccms/public/admin/datatables/images/sort_desc_disabled.png +0 -0
- data/lib/classiccms/public/admin/datatables/js/jquery.dataTables.js +11863 -0
- data/lib/classiccms/public/admin/datatables/js/jquery.dataTables.min.js +154 -0
- data/lib/classiccms/public/admin/datatables/js/jquery.js +4 -0
- data/lib/classiccms/public/admin/datatables/src/DataTables.js +259 -0
- data/lib/classiccms/public/admin/datatables/src/api/api.internal.js +128 -0
- data/lib/classiccms/public/admin/datatables/src/api/api.methods.js +1276 -0
- data/lib/classiccms/public/admin/datatables/src/api/api.static.js +98 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.ajax.js +185 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.columns.js +365 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.constructor.js +439 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.data.js +546 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.draw.js +788 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.filter.js +405 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.info.js +117 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.init.js +153 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.length.js +122 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.page.js +119 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.processing.js +44 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.scrolling.js +495 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.sizing.js +405 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.sort.js +460 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.state.js +201 -0
- data/lib/classiccms/public/admin/datatables/src/core/core.support.js +316 -0
- data/lib/classiccms/public/admin/datatables/src/ext/ext.classes.js +112 -0
- data/lib/classiccms/public/admin/datatables/src/ext/ext.paging.js +257 -0
- data/lib/classiccms/public/admin/datatables/src/ext/ext.sorting.js +86 -0
- data/lib/classiccms/public/admin/datatables/src/ext/ext.types.js +88 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.column.js +248 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.defaults.columns.js +737 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.defaults.js +1944 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.ext.js +528 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.row.js +64 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.search.js +40 -0
- data/lib/classiccms/public/admin/datatables/src/model/model.settings.js +868 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/controller.js +94 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/controller.php +100 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/index.html +7 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/performance/draw.html +482 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/performance/large.php +108 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/performance/page.html +477 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/performance/sort.html +477 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/-complex_header.php +469 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/2512.php +464 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/6776.php +116 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/complex_header_2.php +485 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/deferred_table.php +132 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data.php +465 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data_th.php +465 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/dom_data_two_headers.php +472 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/dymanic_table.php +45 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/empty_table.php +55 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/html_table.php +66 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/js_data.php +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/js_data_mixed_types.php +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/templates/two_tables.php +227 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests/1_dom/_zero_config.js +437 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/-complex_header.js +52 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/-iDraw.js +41 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2512.js +17 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2530-2.js +15 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2530.js +29 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2569.js +36 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2600.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2608.js +54 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2635.js +40 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2746-stable-sort.js +199 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2799.js +14 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js +19 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js +39 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/5396-fnUpdate-arrays.js +103 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/5508-xscroll-zero-content.js +23 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/6776-scrolling-table-grows.js +64 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/_zero_config.js +437 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aaSorting.js +183 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aaSortingFixed.js +60 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js +67 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js +105 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js +145 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js +132 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.bVisible2.js +268 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js +176 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js +88 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js +111 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sName.js +27 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js +78 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js +84 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/aoSearchCols.js +112 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/asStripClasses.js +106 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bAutoWidth.js +138 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bFilter.js +40 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js +130 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bInfo.js +40 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bJQueryUI.js +40 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bLengthChange.js +71 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bPaginate.js +55 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bProcessing.js +99 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bServerSide.js +18 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSort.js +101 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSortCellsTop.js +77 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/bSortClasses.js +128 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCookieCallback.js +97 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCreatedCell.js +151 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnCreatedRow.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnDeleteRow.js +30 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnDrawCallback.js +80 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnFilter.js +16 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnFooterCallback.js +227 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js +227 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnInfoCallback.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnInitComplete.js +94 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnRowCallback.js +105 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnSetColumnVis.js +120 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/fnSetColumnVis2.js +236 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/html-autodetect-sort.js +57 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/iDisplayLength.js +76 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js +80 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js +75 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js +73 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js +106 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js +66 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js +59 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js +45 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/oSearch.js +101 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sAjaxSource.js +18 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sDom.js +319 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sPaginationType.js +122 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/sScrollXY.js +63 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/1_dom/th_in_body.js +437 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/6872-default-content-missing-props.js +285 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/8549--string-sorting-nonstrings.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/_zero_config.js +440 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aaSorting.js +198 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aaSortingFixed.js +64 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js +71 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js +148 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js +110 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js +156 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js +90 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sClass.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sName.js +28 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js +87 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/aoSearchCols.js +119 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/asStripClasses.js +100 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bAutoWidth.js +142 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bFilter.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bInfo.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bLengthChange.js +75 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bPaginate.js +59 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bProcessing.js +103 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bServerSide.js +20 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bSort.js +99 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/bSortClasses.js +132 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnCreatedCell.js +158 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnCreatedRow.js +121 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnDrawCallback.js +85 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnFooterCallback.js +240 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnHeaderCallback.js +240 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnInitComplete.js +83 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/fnRowCallback.js +112 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/iDisplayLength.js +81 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/js_data_mixed_types.js +392 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js +84 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js +117 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js +79 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js +78 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js +111 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js +49 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js +70 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js +62 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js +48 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/oSearch.js +108 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sAjaxSource.js +20 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sDom.js +262 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/2_js/sPaginationType.js +125 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/_zero_config.js +440 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aaSorting.js +198 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js +67 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js +76 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js +148 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js +156 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js +90 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js +28 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js +87 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/aoSearchCols.js +119 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/asStripClasses.js +105 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bAutoWidth.js +142 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bFilter.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bInfo.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bLengthChange.js +75 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bPaginate.js +59 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bProcessing.js +103 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bServerSide.js +20 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bSort.js +99 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/bSortClasses.js +132 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnCreatedCell.js +183 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnCreatedRow.js +142 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js +98 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js +191 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnInitComplete.js +100 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnRowCallback.js +112 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/fnServerData.js +64 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/iDisplayLength.js +81 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js +84 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js +117 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js +79 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js +78 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js +111 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sLoadingRecords.js +65 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js +49 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js +70 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js +62 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js +48 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/oSearch.js +108 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxDataProp.js +139 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxDataProp2.js +139 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sAjaxSource.js +22 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sDom.js +262 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/3_ajax/sPaginationType.js +134 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/-iDraw.js +44 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2440.js +32 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2569.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/2600.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/_zero_config.js +424 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aaSorting.js +212 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js +67 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js +25 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js +112 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js +43 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js +123 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js +162 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js +118 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js +29 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js +85 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js +90 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/aoSearchCols.js +70 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/asStripClasses.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bAutoWidth.js +145 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bFilter.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js +168 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bInfo.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bLengthChange.js +78 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bPaginate.js +62 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bProcessing.js +106 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bServerSide.js +21 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bSort.js +102 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/bSortClasses.js +135 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnCreatedCell.js +190 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnCreatedRow.js +148 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js +89 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js +191 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnInitComplete.js +89 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/fnRowCallback.js +118 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/iDeferLoading.js +95 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/iDisplayLength.js +85 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js +86 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js +51 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js +73 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js +64 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js +58 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/oSearch.js +100 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js +146 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sAjaxSource.js +23 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sDom.js +269 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/4_server-side/sPaginationType.js +138 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js +847 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js +961 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js +1075 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_null_source.js +458 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js +847 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js +961 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aaSorting.js +296 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aaSortingFixed.js +88 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSearchable.js +83 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSortable.js +116 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bUseRendered.js +155 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bVisible.js +131 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.fnRender.js +177 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.iDataSort.js +90 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sClass.js +122 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sName.js +28 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sTitle.js +89 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sWidth.js +87 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/aoSearchCols.js +161 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/asStripClasses.js +133 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bAutoWidth.js +163 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bFilter.js +65 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bInfo.js +65 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bLengthChange.js +96 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bPaginate.js +80 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bProcessing.js +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bServerSide.js +27 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bSort.js +120 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/bSortClasses.js +153 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnDrawCallback.js +126 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js +254 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnInitComplete.js +135 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnRowCallback.js +154 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/fnServerData.js +92 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/iDisplayLength.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.oPaginate.js +98 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfo.js +166 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoEmpty.js +100 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoPostFix.js +106 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sLengthMenu.js +139 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sProcessing.js +63 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sSearch.js +91 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sUrl.js +76 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sZeroRecords.js +62 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/oSearch.js +150 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sAjaxSource.js +29 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sDom.js +311 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/5_ajax_objects/sPaginationType.js +148 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/_zero_config.js +403 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aaSorting.js +212 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aaSortingFixed.js +70 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSearchable.js +79 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSortable.js +112 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bUseRendered.js +151 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bVisible.js +127 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.fnRender.js +190 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.iDataSort.js +92 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sClass.js +118 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sName.js +29 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sTitle.js +85 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sWidth.js +90 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/aoSearchCols.js +125 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/asStripClasses.js +109 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bAutoWidth.js +145 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bFilter.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bInfo.js +47 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bLengthChange.js +78 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bPaginate.js +62 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bProcessing.js +106 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bServerSide.js +21 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bSort.js +102 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/bSortClasses.js +135 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnDrawCallback.js +102 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js +200 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnInitComplete.js +105 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js +118 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/fnServerData.js +68 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/iDisplayLength.js +85 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.oPaginate.js +86 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfo.js +124 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoEmpty.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoPostFix.js +82 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sLengthMenu.js +115 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sProcessing.js +51 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sSearch.js +73 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sUrl.js +64 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sZeroRecords.js +50 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/oSearch.js +114 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp.js +140 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js +140 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sAjaxSource.js +23 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sDom.js +269 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/tests_onhold/6_delayed_rendering/sPaginationType.js +136 -0
- data/lib/classiccms/public/admin/datatables/unit_testing/unit_test.js +409 -0
- data/lib/classiccms/public/admin/index.js +5 -0
- data/lib/classiccms/scaffold/config.ru +2 -1
- data/lib/classiccms/version.rb +1 -1
- data/lib/classiccms/views/admin/index.haml +51 -0
- 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 < 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<iLen ; i++ ) {
|
|
719
|
+
* if ( i%3 === 0 && 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>'<' and '>' - div elements</li>
|
|
1816
|
+
* <li>'<"class" and '>' - div with a class</li>
|
|
1817
|
+
* <li>'<"#id" and '>' - div with an ID</li>
|
|
1818
|
+
* </ul>
|
|
1819
|
+
* </li>
|
|
1820
|
+
* <li>Examples:
|
|
1821
|
+
* <ul>
|
|
1822
|
+
* <li>'<"wrapper"flipt>'</li>
|
|
1823
|
+
* <li>'<lf<t>ip>'</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": '<"top"i>rt<"bottom"flp><"clear">'
|
|
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
|
+
|