From 71db78df15184f4a7cd55a480662bdc6452374d1 Mon Sep 17 00:00:00 2001 From: Brianna Birman Date: Tue, 12 Jun 2012 15:18:59 -0700 Subject: [PATCH] added accordion for sidebar, sorting and searching for tables --- .../scripts/DataTables-1.9.1/DT_bootstrap.css | 47 + .../scripts/DataTables-1.9.1/DT_bootstrap.js | 106 + .../web/scripts/DataTables-1.9.1/Readme.txt | 11 + .../DataTables-1.9.1/docs/34cdb56b2c.html | 1925 +++ .../docs/DataTable.defaults.columns.html | 874 ++ .../docs/DataTable.defaults.html | 1748 +++ .../docs/DataTable.defaults.oLanguage.html | 362 + .../DataTable.defaults.oLanguage.oAria.html | 135 + ...ataTable.defaults.oLanguage.oPaginate.html | 164 + .../docs/DataTable.defaults.oSearch.html | 129 + .../DataTables-1.9.1/docs/DataTable.ext.html | 764 + .../DataTables-1.9.1/docs/DataTable.html | 1362 ++ .../docs/DataTable.models.ext.html | 762 + .../docs/DataTable.models.html | 108 + .../docs/DataTable.models.oColumn.html | 335 + .../docs/DataTable.models.oRow.html | 111 + .../docs/DataTable.models.oSearch.html | 112 + .../docs/DataTable.models.oSettings.html | 517 + .../DataTable.models.oSettings.oFeatures.html | 200 + .../DataTable.models.oSettings.oLanguage.html | 370 + ...able.models.oSettings.oPreviousSearch.html | 118 + .../DataTable.models.oSettings.oScroll.html | 167 + .../scripts/DataTables-1.9.1/docs/index.html | 46 + .../DataTables-1.9.1/docs/media/css/doc.css | 316 + .../docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../docs/media/images/extended.png | Bin 0 -> 1189 bytes .../DataTables-1.9.1/docs/media/js/doc.js | 121 + .../DataTables-1.9.1/docs/media/js/jquery.js | 8316 +++++++++++ .../docs/media/js/shBrushJScript.js | 52 + .../DataTables-1.9.1/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../examples/advanced_init/column_render.html | 618 + .../advanced_init/complex_header.html | 615 + .../examples/advanced_init/defaults.html | 612 + .../advanced_init/dom_multiple_elements.html | 611 + .../examples/advanced_init/dom_toolbar.html | 616 + .../examples/advanced_init/dt_events.html | 622 + .../examples/advanced_init/events_live.html | 644 + .../advanced_init/events_post_init.html | 667 + .../advanced_init/events_pre_init.html | 666 + .../advanced_init/footer_callback.html | 650 + .../examples/advanced_init/highlight.html | 643 + .../examples/advanced_init/html_sort.html | 197 + .../examples/advanced_init/language_file.html | 608 + .../examples/advanced_init/length_menu.html | 604 + .../examples/advanced_init/localstorage.html | 612 + .../examples/advanced_init/row_callback.html | 624 + .../examples/advanced_init/row_grouping.html | 661 + .../advanced_init/sorting_control.html | 625 + .../DataTables-1.9.1/examples/ajax/ajax.html | 208 + .../examples/ajax/custom_data_property.html | 210 + .../DataTables-1.9.1/examples/ajax/deep.html | 222 + .../examples/ajax/defer_render.html | 210 + .../examples/ajax/null_data_source.html | 214 + .../examples/ajax/objects.html | 222 + .../examples/ajax/objects_subarrays.html | 222 + .../examples/ajax/sources/array_only.txt | 59 + .../examples/ajax/sources/arrays.txt | 59 + .../ajax/sources/arrays_subobjects.txt | 515 + .../examples/ajax/sources/custom_prop.txt | 59 + .../examples/ajax/sources/deep.txt | 629 + .../examples/ajax/sources/objects.txt | 401 + .../ajax/sources/objects_subarrays.txt | 515 + .../examples/api/add_row.html | 221 + .../examples/api/api_in_init.html | 615 + .../examples/api/counter_column.html | 690 + .../examples/api/editable.html | 640 + .../DataTables-1.9.1/examples/api/form.html | 680 + .../examples/api/highlight.html | 618 + .../examples/api/multi_filter.html | 676 + .../examples/api/multi_filter_select.html | 759 + .../DataTables-1.9.1/examples/api/regex.html | 726 + .../examples/api/row_details.html | 705 + .../examples/api/select_row.html | 630 + .../examples/api/select_single_row.html | 659 + .../examples/api/show_hide.html | 630 + .../examples/api/tabs_and_scrolling.html | 456 + .../examples/basic_init/alt_pagination.html | 609 + .../examples/basic_init/base.html | 596 + .../examples/basic_init/base_themeroller.html | 592 + .../examples/basic_init/complex_header.html | 606 + .../examples/basic_init/dom.html | 619 + .../examples/basic_init/filter_only.html | 609 + .../examples/basic_init/flexible_width.html | 602 + .../examples/basic_init/hidden_columns.html | 604 + .../examples/basic_init/language.html | 612 + .../examples/basic_init/multi_col_sort.html | 635 + .../examples/basic_init/multiple_tables.html | 416 + .../examples/basic_init/scroll_x.html | 610 + .../examples/basic_init/scroll_xy.html | 600 + .../examples/basic_init/scroll_y.html | 609 + .../basic_init/scroll_y_infinite.html | 610 + .../examples/basic_init/scroll_y_theme.html | 609 + .../examples/basic_init/state_save.html | 604 + .../examples/basic_init/table_sorting.html | 604 + .../examples/basic_init/themes.html | 598 + .../examples/basic_init/zero_config.html | 600 + .../examples/data_sources/ajax.html | 208 + .../examples/data_sources/dom.html | 600 + .../examples/data_sources/js_array.html | 289 + .../examples/data_sources/server_side.html | 394 + .../examples/examples_support/data.sql | 67 + .../examples/examples_support/de_DE.txt | 17 + .../examples_support/details_close.png | Bin 0 -> 841 bytes .../examples_support/details_open.png | Bin 0 -> 881 bytes .../examples_support/editable_ajax.php | 3 + .../examples/examples_support/index.html | 7 + .../examples_support/infiniteScroll.php | 97 + .../examples_support/jquery-ui-tabs.js | 65 + .../examples_support/jquery.jeditable.js | 543 + .../examples_support/jquery.tooltip.css | 12 + .../examples_support/jquery.tooltip.js | 294 + .../examples_support/syntax/css/shCore.css | 377 + .../examples_support/syntax/images/arrow.jpg | Bin 0 -> 430 bytes .../syntax/images/extended.png | Bin 0 -> 1189 bytes .../examples_support/syntax/js/shCore.js | 2710 ++++ .../syntax/license/Syntax Highlighter | 20 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../smoothness/jquery-ui-1.8.4.custom.css | 572 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 167 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.8.4.custom.css | 572 + .../DataTables-1.9.1/examples/index.html | 150 + .../examples/plug-ins/dom_sort.html | 1142 ++ .../examples/plug-ins/html_sort.html | 208 + .../examples/plug-ins/paging_plugin.html | 833 ++ .../examples/plug-ins/plugin_api.html | 668 + .../examples/plug-ins/range_filtering.html | 672 + .../examples/plug-ins/sorting_plugin.html | 701 + .../examples/plug-ins/sorting_sType.html | 649 + .../examples/server_side/custom_vars.html | 218 + .../examples/server_side/defer_loading.html | 281 + .../examples/server_side/editable.html | 232 + .../examples/server_side/ids.html | 212 + .../examples/server_side/jsonp.html | 230 + .../examples/server_side/object_data.html | 227 + .../examples/server_side/pipeline.html | 421 + .../examples/server_side/post.html | 214 + .../examples/server_side/row_details.html | 294 + .../scripts/custom_data_property.php | 174 + .../server_side/scripts/details_col.php | 179 + .../server_side/scripts/filter_col.php | 122 + .../examples/server_side/scripts/id.php | 179 + .../examples/server_side/scripts/id_jsonp.php | 179 + .../examples/server_side/scripts/jsonp.php | 174 + .../examples/server_side/scripts/objects.php | 176 + .../server_side/scripts/objects_jsonp.php | 176 + .../examples/server_side/scripts/post.php | 184 + .../server_side/scripts/server_processing.php | 174 + .../examples/server_side/select_rows.html | 256 + .../examples/server_side/server_side.html | 389 + .../extras/AutoFill/callbacks.html | 552 + .../extras/AutoFill/columns.html | 503 + .../extras/AutoFill/index.html | 489 + .../extras/AutoFill/inputs.html | 519 + .../extras/AutoFill/media/css/AutoFill.css | 24 + .../AutoFill/media/docs/02ff627f40.html | 75 + .../AutoFill/media/docs/36456bf45f.html | 75 + .../AutoFill/media/docs/47cac4f141.html | 75 + .../AutoFill/media/docs/5a72546831.html | 77 + .../AutoFill/media/docs/8ee4007a12.html | 77 + .../extras/AutoFill/media/docs/AutoFill.html | 93 + .../AutoFill/media/docs/a69b02bcf2.html | 75 + .../AutoFill/media/docs/b44bd4821a.html | 75 + .../AutoFill/media/docs/c6945fdb4a.html | 75 + .../extras/AutoFill/media/docs/global.html | 368 + .../extras/AutoFill/media/docs/index.html | 40 + .../AutoFill/media/docs/media/css/doc.css | 316 + .../AutoFill/media/docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../media/docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../media/docs/media/images/extended.png | Bin 0 -> 1189 bytes .../AutoFill/media/docs/media/js/doc.js | 121 + .../AutoFill/media/docs/media/js/jquery.js | 8316 +++++++++++ .../media/docs/media/js/shBrushJScript.js | 52 + .../AutoFill/media/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../extras/AutoFill/media/images/filler.png | Bin 0 -> 1040 bytes .../extras/AutoFill/media/js/AutoFill.js | 820 ++ .../extras/AutoFill/media/js/AutoFill.min.js | 33 + .../AutoFill/media/js/AutoFill.min.js.gz | Bin 0 -> 3084 bytes .../extras/AutoFill/scrolling.html | 496 + .../extras/ColReorder/alt_insert.html | 495 + .../extras/ColReorder/col_filter.html | 586 + .../extras/ColReorder/colvis.html | 503 + .../extras/ColReorder/fixedcolumns.html | 603 + .../extras/ColReorder/fixedheader.html | 499 + .../extras/ColReorder/index.html | 496 + .../ColReorder/media/css/ColReorder.css | 21 + .../ColReorder/media/docs/46848f6f3b.html | 75 + .../ColReorder/media/docs/4f1246032c.html | 75 + .../ColReorder/media/docs/ColReorder.html | 146 + .../ColReorder/media/docs/a69b02bcf2.html | 75 + .../extras/ColReorder/media/docs/global.html | 177 + .../extras/ColReorder/media/docs/index.html | 40 + .../ColReorder/media/docs/media/css/doc.css | 316 + .../media/docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../media/docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../media/docs/media/images/extended.png | Bin 0 -> 1189 bytes .../ColReorder/media/docs/media/js/doc.js | 121 + .../ColReorder/media/docs/media/js/jquery.js | 8316 +++++++++++ .../media/docs/media/js/shBrushJScript.js | 52 + .../ColReorder/media/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../extras/ColReorder/media/images/insert.png | Bin 0 -> 1885 bytes .../extras/ColReorder/media/js/ColReorder.js | 957 ++ .../ColReorder/media/js/ColReorder.min.js | 33 + .../ColReorder/media/js/ColReorder.min.js.gz | Bin 0 -> 3267 bytes .../extras/ColReorder/predefined.html | 501 + .../extras/ColReorder/reset.html | 533 + .../extras/ColReorder/scrolling.html | 497 + .../extras/ColReorder/server_side.html | 150 + .../extras/ColReorder/state_save.html | 498 + .../extras/ColReorder/theme.html | 500 + .../extras/ColVis/exclude_columns.html | 500 + .../DataTables-1.9.1/extras/ColVis/index.html | 490 + .../extras/ColVis/media/css/ColVis.css | 76 + .../extras/ColVis/media/css/ColVisAlt.css | 104 + .../extras/ColVis/media/docs/ColVis.html | 150 + .../extras/ColVis/media/docs/a69b02bcf2.html | 75 + .../extras/ColVis/media/docs/ccb5a49865.html | 75 + .../extras/ColVis/media/docs/global.html | 114 + .../extras/ColVis/media/docs/index.html | 40 + .../ColVis/media/docs/media/css/doc.css | 316 + .../ColVis/media/docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../ColVis/media/docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../media/docs/media/images/extended.png | Bin 0 -> 1189 bytes .../extras/ColVis/media/docs/media/js/doc.js | 121 + .../ColVis/media/docs/media/js/jquery.js | 8316 +++++++++++ .../media/docs/media/js/shBrushJScript.js | 52 + .../ColVis/media/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../extras/ColVis/media/images/button.png | Bin 0 -> 1161 bytes .../extras/ColVis/media/js/ColVis.js | 995 ++ .../extras/ColVis/media/js/ColVis.min.js | 33 + .../extras/ColVis/media/js/ColVis.min.js.gz | Bin 0 -> 3065 bytes .../extras/ColVis/mouseover.html | 499 + .../DataTables-1.9.1/extras/ColVis/style.html | 532 + .../DataTables-1.9.1/extras/ColVis/text.html | 497 + .../DataTables-1.9.1/extras/ColVis/theme.html | 503 + .../extras/ColVis/title_callback.html | 500 + .../extras/ColVis/two_tables.html | 296 + .../extras/ColVis/two_tables_identical.html | 322 + .../extras/FixedColumns/col_filter.html | 613 + .../extras/FixedColumns/css_size.html | 528 + .../extras/FixedColumns/docs/070023b890.html | 75 + .../extras/FixedColumns/docs/526f872207.html | 108 + .../extras/FixedColumns/docs/73098af57c.html | 75 + .../extras/FixedColumns/docs/889588ec06.html | 104 + .../extras/FixedColumns/docs/91bce7c4ad.html | 237 + .../docs/FixedColumns.defaults.html | 219 + .../FixedColumns/docs/FixedColumns.html | 282 + .../extras/FixedColumns/docs/a6bd52f587.html | 104 + .../extras/FixedColumns/docs/d3890ba7c4.html | 110 + .../extras/FixedColumns/docs/e20106c59a.html | 85 + .../extras/FixedColumns/docs/global.html | 98 + .../extras/FixedColumns/docs/index.html | 50 + .../FixedColumns/docs/media/css/doc.css | 316 + .../FixedColumns/docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../FixedColumns/docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../docs/media/images/extended.png | Bin 0 -> 1189 bytes .../extras/FixedColumns/docs/media/js/doc.js | 121 + .../FixedColumns/docs/media/js/jquery.js | 8316 +++++++++++ .../docs/media/js/shBrushJScript.js | 52 + .../FixedColumns/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../extras/FixedColumns/index.html | 517 + .../extras/FixedColumns/index_column.html | 600 + .../FixedColumns/left_right_columns.html | 678 + .../FixedColumns/media/js/FixedColumns.js | 1226 ++ .../FixedColumns/media/js/FixedColumns.min.js | 48 + .../media/js/FixedColumns.min.js.gz | Bin 0 -> 3652 bytes .../extras/FixedColumns/right_column.html | 520 + .../extras/FixedColumns/row_grouping.html | 606 + .../FixedColumns/row_grouping_height.html | 571 + .../extras/FixedColumns/rowspan.html | 515 + .../extras/FixedColumns/scale_fixed.html | 523 + .../extras/FixedColumns/scale_relative.html | 525 + .../FixedColumns/server-side-processing.html | 119 + .../extras/FixedColumns/themed.html | 521 + .../extras/FixedColumns/two_columns.html | 520 + .../extras/FixedColumns/x_y_scrolling.html | 599 + .../extras/FixedHeader/html_table.html | 486 + .../extras/FixedHeader/index.html | 490 + .../extras/FixedHeader/js/FixedHeader.js | 937 ++ .../extras/FixedHeader/js/FixedHeader.min.js | 40 + .../FixedHeader/js/FixedHeader.min.js.gz | Bin 0 -> 3073 bytes .../FixedHeader/top_bottom_left_right.html | 617 + .../extras/FixedHeader/top_left.html | 490 + .../extras/FixedHeader/two_tables.html | 923 ++ .../extras/FixedHeader/zIndexes.html | 496 + .../extras/KeyTable/datatable.html | 494 + .../extras/KeyTable/datatable_scrolling.html | 502 + .../extras/KeyTable/editing.html | 536 + .../extras/KeyTable/form.html | 133 + .../extras/KeyTable/index.html | 595 + .../extras/KeyTable/js/KeyTable.js | 1111 ++ .../extras/KeyTable/js/KeyTable.min.js | 27 + .../extras/KeyTable/js/KeyTable.min.js.gz | Bin 0 -> 2561 bytes .../extras/Scroller/api_scrolling.html | 83 + .../extras/Scroller/index.html | 79 + .../extras/Scroller/large_js_source.html | 87 + .../extras/Scroller/media/data/2500.txt | 2502 ++++ .../Scroller/media/data/server_processing.php | 174 + .../Scroller/media/docs/140369713c.html | 75 + .../Scroller/media/docs/28e3b9ac00.html | 147 + .../Scroller/media/docs/fd374c06d9.html | 79 + .../extras/Scroller/media/docs/global.html | 131 + .../Scroller/media/docs/media/css/doc.css | 316 + .../Scroller/media/docs/media/css/shCore.css | 226 + .../docs/media/css/shThemeDataTables.css | 128 + .../media/docs/media/images/arrow.jpg | Bin 0 -> 430 bytes .../media/docs/media/images/extended.png | Bin 0 -> 1189 bytes .../Scroller/media/docs/media/js/doc.js | 121 + .../Scroller/media/docs/media/js/jquery.js | 8316 +++++++++++ .../media/docs/media/js/shBrushJScript.js | 52 + .../Scroller/media/docs/media/js/shCore.js | 17 + .../docs/media/license/Syntax Highlighter | 20 + .../extras/Scroller/media/js/Scroller.js | 806 ++ .../extras/Scroller/media/js/Scroller.min.js | 38 + .../Scroller/media/js/Scroller.min.js.gz | Bin 0 -> 2477 bytes .../Scroller/server-side_processing.html | 77 + .../extras/Scroller/state_saving.html | 79 + .../extras/TableTools/alt_init.html | 519 + .../extras/TableTools/alter_buttons.html | 504 + .../extras/TableTools/button_text.html | 530 + .../extras/TableTools/collection.html | 521 + .../extras/TableTools/defaults.html | 502 + .../extras/TableTools/index.html | 498 + .../TableTools/media/as3/ZeroClipboard.as | 221 + .../TableTools/media/as3/ZeroClipboardPdf.as | 310 + .../TableTools/media/as3/lib/AlivePDF.swc | Bin 0 -> 131230 bytes .../TableTools/media/css/TableTools.css | 277 + .../TableTools/media/css/TableTools_JUI.css | 183 + .../TableTools/media/images/background.png | Bin 0 -> 944 bytes .../TableTools/media/images/collection.png | Bin 0 -> 1166 bytes .../media/images/collection_hover.png | Bin 0 -> 1194 bytes .../extras/TableTools/media/images/copy.png | Bin 0 -> 2184 bytes .../TableTools/media/images/copy_hover.png | Bin 0 -> 2797 bytes .../extras/TableTools/media/images/csv.png | Bin 0 -> 1607 bytes .../TableTools/media/images/csv_hover.png | Bin 0 -> 1854 bytes .../extras/TableTools/media/images/pdf.png | Bin 0 -> 4325 bytes .../TableTools/media/images/pdf_hover.png | Bin 0 -> 2786 bytes .../extras/TableTools/media/images/print.png | Bin 0 -> 2123 bytes .../TableTools/media/images/print_hover.png | Bin 0 -> 2230 bytes .../media/images/psd/collection.psd | Bin 0 -> 25792 bytes .../media/images/psd/copy document.psd | Bin 0 -> 104729 bytes .../media/images/psd/file_types.psd | Bin 0 -> 1090645 bytes .../TableTools/media/images/psd/printer.psd | Bin 0 -> 119952 bytes .../extras/TableTools/media/images/xls.png | Bin 0 -> 1641 bytes .../TableTools/media/images/xls_hover.png | Bin 0 -> 2061 bytes .../extras/TableTools/media/js/TableTools.js | 2573 ++++ .../TableTools/media/js/TableTools.min.js | 81 + .../TableTools/media/js/TableTools.min.js.gz | Bin 0 -> 8658 bytes .../TableTools/media/js/ZeroClipboard.js | 368 + .../TableTools/media/swf/copy_csv_xls.swf | Bin 0 -> 2138 bytes .../TableTools/media/swf/copy_csv_xls_pdf.swf | Bin 0 -> 58818 bytes .../extras/TableTools/multi_instance.html | 498 + .../extras/TableTools/multiple_tables.html | 295 + .../extras/TableTools/pdf_message.html | 523 + .../extras/TableTools/plug-in.html | 565 + .../extras/TableTools/select_multi.html | 506 + .../extras/TableTools/select_single.html | 504 + .../extras/TableTools/swf_path.html | 504 + .../extras/TableTools/tabs.html | 347 + .../extras/TableTools/theme.html | 523 + .../scripts/DataTables-1.9.1/license-bsd.txt | 10 + .../scripts/DataTables-1.9.1/license-gpl2.txt | 339 + .../DataTables-1.9.1/media/css/demo_page.css | 107 + .../DataTables-1.9.1/media/css/demo_table.css | 576 + .../media/css/demo_table_jui.css | 526 + .../media/css/jquery.dataTables.css | 220 + .../css/jquery.dataTables_themeroller.css | 245 + .../media/images/Sorting icons.psd | Bin 0 -> 27490 bytes .../media/images/back_disabled.png | Bin 0 -> 1361 bytes .../media/images/back_enabled.png | Bin 0 -> 1379 bytes .../media/images/back_enabled_hover.png | Bin 0 -> 1375 bytes .../DataTables-1.9.1/media/images/favicon.ico | Bin 0 -> 894 bytes .../media/images/forward_disabled.png | Bin 0 -> 1363 bytes .../media/images/forward_enabled.png | Bin 0 -> 1380 bytes .../media/images/forward_enabled_hover.png | Bin 0 -> 1379 bytes .../media/images/sort_asc.png | Bin 0 -> 1118 bytes .../media/images/sort_asc_disabled.png | Bin 0 -> 1050 bytes .../media/images/sort_both.png | Bin 0 -> 1136 bytes .../media/images/sort_desc.png | Bin 0 -> 1127 bytes .../media/images/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../media/js/jquery.dataTables.js | 11838 ++++++++++++++++ .../media/js/jquery.dataTables.min.js | 154 + .../DataTables-1.9.1/media/js/jquery.js | 4 + .../DataTables-1.9.1/media/src/DataTables.js | 259 + .../media/src/api/api.internal.js | 128 + .../media/src/api/api.methods.js | 1256 ++ .../media/src/api/api.static.js | 98 + .../media/src/core/core.ajax.js | 185 + .../media/src/core/core.columns.js | 365 + .../media/src/core/core.constructor.js | 439 + .../media/src/core/core.data.js | 544 + .../media/src/core/core.draw.js | 789 + .../media/src/core/core.filter.js | 405 + .../media/src/core/core.info.js | 117 + .../media/src/core/core.init.js | 153 + .../media/src/core/core.length.js | 122 + .../media/src/core/core.page.js | 119 + .../media/src/core/core.processing.js | 44 + .../media/src/core/core.scrolling.js | 495 + .../media/src/core/core.sizing.js | 405 + .../media/src/core/core.sort.js | 460 + .../media/src/core/core.state.js | 201 + .../media/src/core/core.support.js | 316 + .../media/src/ext/ext.classes.js | 108 + .../media/src/ext/ext.paging.js | 257 + .../media/src/ext/ext.sorting.js | 86 + .../media/src/ext/ext.types.js | 88 + .../media/src/model/model.column.js | 248 + .../media/src/model/model.defaults.columns.js | 737 + .../media/src/model/model.defaults.js | 1944 +++ .../media/src/model/model.ext.js | 528 + .../media/src/model/model.row.js | 64 + .../media/src/model/model.search.js | 40 + .../media/src/model/model.settings.js | 868 ++ .../media/unit_testing/controller.js | 94 + .../media/unit_testing/controller.php | 100 + .../media/unit_testing/index.html | 7 + .../media/unit_testing/performance/draw.html | 482 + .../media/unit_testing/performance/large.php | 108 + .../media/unit_testing/performance/page.html | 477 + .../media/unit_testing/performance/sort.html | 477 + .../templates/-complex_header.php | 469 + .../media/unit_testing/templates/2512.php | 464 + .../media/unit_testing/templates/6776.php | 116 + .../templates/complex_header_2.php | 485 + .../unit_testing/templates/deferred_table.php | 132 + .../media/unit_testing/templates/dom_data.php | 465 + .../unit_testing/templates/dom_data_th.php | 465 + .../templates/dom_data_two_headers.php | 472 + .../unit_testing/templates/dymanic_table.php | 45 + .../unit_testing/templates/empty_table.php | 55 + .../unit_testing/templates/html_table.php | 66 + .../media/unit_testing/templates/js_data.php | 124 + .../templates/js_data_mixed_types.php | 124 + .../unit_testing/templates/two_tables.php | 227 + .../unit_testing/tests/1_dom/_zero_config.js | 437 + .../tests_onhold/1_dom/-complex_header.js | 52 + .../unit_testing/tests_onhold/1_dom/-iDraw.js | 41 + .../unit_testing/tests_onhold/1_dom/2512.js | 17 + .../unit_testing/tests_onhold/1_dom/2530-2.js | 15 + .../unit_testing/tests_onhold/1_dom/2530.js | 29 + .../unit_testing/tests_onhold/1_dom/2569.js | 36 + .../unit_testing/tests_onhold/1_dom/2600.js | 44 + .../unit_testing/tests_onhold/1_dom/2608.js | 54 + .../unit_testing/tests_onhold/1_dom/2635.js | 40 + .../tests_onhold/1_dom/2746-stable-sort.js | 199 + .../unit_testing/tests_onhold/1_dom/2799.js | 14 + .../1_dom/2840-restore-table-width.js | 19 + .../1_dom/2914-state-save-sort.js | 39 + .../1_dom/5396-fnUpdate-arrays.js | 103 + .../1_dom/5508-xscroll-zero-content.js | 23 + .../1_dom/6776-scrolling-table-grows.js | 64 + .../tests_onhold/1_dom/_zero_config.js | 437 + .../tests_onhold/1_dom/aaSorting.js | 183 + .../tests_onhold/1_dom/aaSortingFixed.js | 60 + .../1_dom/aoColumns.bSearchable.js | 67 + .../tests_onhold/1_dom/aoColumns.bSortable.js | 105 + .../1_dom/aoColumns.bUseRendered.js | 145 + .../tests_onhold/1_dom/aoColumns.bVisible.js | 132 + .../tests_onhold/1_dom/aoColumns.bVisible2.js | 268 + .../tests_onhold/1_dom/aoColumns.fnRender.js | 176 + .../tests_onhold/1_dom/aoColumns.iDataSort.js | 88 + .../tests_onhold/1_dom/aoColumns.sClass.js | 111 + .../tests_onhold/1_dom/aoColumns.sName.js | 27 + .../tests_onhold/1_dom/aoColumns.sTitle.js | 78 + .../tests_onhold/1_dom/aoColumns.sWidth.js | 84 + .../tests_onhold/1_dom/aoSearchCols.js | 112 + .../tests_onhold/1_dom/asStripClasses.js | 106 + .../tests_onhold/1_dom/bAutoWidth.js | 138 + .../tests_onhold/1_dom/bFilter.js | 40 + .../tests_onhold/1_dom/bInfiniteScroll.js | 130 + .../unit_testing/tests_onhold/1_dom/bInfo.js | 40 + .../tests_onhold/1_dom/bJQueryUI.js | 40 + .../tests_onhold/1_dom/bLengthChange.js | 71 + .../tests_onhold/1_dom/bPaginate.js | 55 + .../tests_onhold/1_dom/bProcessing.js | 99 + .../tests_onhold/1_dom/bServerSide.js | 18 + .../unit_testing/tests_onhold/1_dom/bSort.js | 101 + .../tests_onhold/1_dom/bSortCellsTop.js | 77 + .../tests_onhold/1_dom/bSortClasses.js | 128 + .../tests_onhold/1_dom/fnCookieCallback.js | 97 + .../tests_onhold/1_dom/fnCreatedCell.js | 151 + .../tests_onhold/1_dom/fnCreatedRow.js | 115 + .../tests_onhold/1_dom/fnDeleteRow.js | 30 + .../tests_onhold/1_dom/fnDrawCallback.js | 80 + .../tests_onhold/1_dom/fnFilter.js | 16 + .../tests_onhold/1_dom/fnFooterCallback.js | 227 + .../tests_onhold/1_dom/fnHeaderCallback.js | 227 + .../tests_onhold/1_dom/fnInfoCallback.js | 115 + .../tests_onhold/1_dom/fnInitComplete.js | 94 + .../tests_onhold/1_dom/fnRowCallback.js | 105 + .../tests_onhold/1_dom/fnSetColumnVis.js | 120 + .../tests_onhold/1_dom/fnSetColumnVis2.js | 236 + .../1_dom/html-autodetect-sort.js | 57 + .../tests_onhold/1_dom/iDisplayLength.js | 76 + .../tests_onhold/1_dom/oLanguage.oPaginate.js | 80 + .../tests_onhold/1_dom/oLanguage.sInfo.js | 109 + .../1_dom/oLanguage.sInfoEmpty.js | 75 + .../1_dom/oLanguage.sInfoPostFix.js | 73 + .../1_dom/oLanguage.sLengthMenu.js | 106 + .../1_dom/oLanguage.sProcessing.js | 47 + .../tests_onhold/1_dom/oLanguage.sSearch.js | 66 + .../tests_onhold/1_dom/oLanguage.sUrl.js | 59 + .../1_dom/oLanguage.sZeroRecords.js | 45 + .../tests_onhold/1_dom/oSearch.js | 101 + .../tests_onhold/1_dom/sAjaxSource.js | 18 + .../unit_testing/tests_onhold/1_dom/sDom.js | 319 + .../tests_onhold/1_dom/sPaginationType.js | 122 + .../tests_onhold/1_dom/sScrollXY.js | 63 + .../tests_onhold/1_dom/th_in_body.js | 437 + .../6872-default-content-missing-props.js | 285 + .../2_js/8549--string-sorting-nonstrings.js | 47 + .../tests_onhold/2_js/_zero_config.js | 440 + .../tests_onhold/2_js/aaSorting.js | 198 + .../tests_onhold/2_js/aaSortingFixed.js | 64 + .../2_js/aoColumns.bSearchable.js | 71 + .../tests_onhold/2_js/aoColumns.bSortable.js | 109 + .../2_js/aoColumns.bUseRendered.js | 148 + .../tests_onhold/2_js/aoColumns.bVisible.js | 110 + .../tests_onhold/2_js/aoColumns.fnRender.js | 156 + .../tests_onhold/2_js/aoColumns.iDataSort.js | 90 + .../tests_onhold/2_js/aoColumns.sClass.js | 115 + .../tests_onhold/2_js/aoColumns.sName.js | 28 + .../tests_onhold/2_js/aoColumns.sTitle.js | 82 + .../tests_onhold/2_js/aoColumns.sWidth.js | 87 + .../tests_onhold/2_js/aoSearchCols.js | 119 + .../tests_onhold/2_js/asStripClasses.js | 100 + .../tests_onhold/2_js/bAutoWidth.js | 142 + .../unit_testing/tests_onhold/2_js/bFilter.js | 44 + .../unit_testing/tests_onhold/2_js/bInfo.js | 44 + .../tests_onhold/2_js/bLengthChange.js | 75 + .../tests_onhold/2_js/bPaginate.js | 59 + .../tests_onhold/2_js/bProcessing.js | 103 + .../tests_onhold/2_js/bServerSide.js | 20 + .../unit_testing/tests_onhold/2_js/bSort.js | 99 + .../tests_onhold/2_js/bSortClasses.js | 132 + .../tests_onhold/2_js/fnCreatedCell.js | 158 + .../tests_onhold/2_js/fnCreatedRow.js | 121 + .../tests_onhold/2_js/fnDrawCallback.js | 85 + .../tests_onhold/2_js/fnFooterCallback.js | 240 + .../tests_onhold/2_js/fnHeaderCallback.js | 240 + .../tests_onhold/2_js/fnInitComplete.js | 83 + .../tests_onhold/2_js/fnRowCallback.js | 112 + .../tests_onhold/2_js/iDisplayLength.js | 81 + .../tests_onhold/2_js/js_data_mixed_types.js | 392 + .../tests_onhold/2_js/oLanguage.oPaginate.js | 84 + .../tests_onhold/2_js/oLanguage.sInfo.js | 117 + .../tests_onhold/2_js/oLanguage.sInfoEmpty.js | 79 + .../2_js/oLanguage.sInfoPostFix.js | 78 + .../2_js/oLanguage.sLengthMenu.js | 111 + .../2_js/oLanguage.sProcessing.js | 49 + .../tests_onhold/2_js/oLanguage.sSearch.js | 70 + .../tests_onhold/2_js/oLanguage.sUrl.js | 62 + .../2_js/oLanguage.sZeroRecords.js | 48 + .../unit_testing/tests_onhold/2_js/oSearch.js | 108 + .../tests_onhold/2_js/sAjaxSource.js | 20 + .../unit_testing/tests_onhold/2_js/sDom.js | 262 + .../tests_onhold/2_js/sPaginationType.js | 125 + .../tests_onhold/3_ajax/_zero_config.js | 440 + .../tests_onhold/3_ajax/aaSorting.js | 198 + .../tests_onhold/3_ajax/aaSortingFixed.js | 67 + .../3_ajax/aoColumns.bSearchable.js | 76 + .../3_ajax/aoColumns.bSortable.js | 109 + .../3_ajax/aoColumns.bUseRendered.js | 148 + .../tests_onhold/3_ajax/aoColumns.bVisible.js | 124 + .../tests_onhold/3_ajax/aoColumns.fnRender.js | 156 + .../3_ajax/aoColumns.iDataSort.js | 90 + .../tests_onhold/3_ajax/aoColumns.sClass.js | 115 + .../tests_onhold/3_ajax/aoColumns.sName.js | 28 + .../tests_onhold/3_ajax/aoColumns.sTitle.js | 82 + .../tests_onhold/3_ajax/aoColumns.sWidth.js | 87 + .../tests_onhold/3_ajax/aoSearchCols.js | 119 + .../tests_onhold/3_ajax/asStripClasses.js | 105 + .../tests_onhold/3_ajax/bAutoWidth.js | 142 + .../tests_onhold/3_ajax/bFilter.js | 44 + .../unit_testing/tests_onhold/3_ajax/bInfo.js | 44 + .../tests_onhold/3_ajax/bLengthChange.js | 75 + .../tests_onhold/3_ajax/bPaginate.js | 59 + .../tests_onhold/3_ajax/bProcessing.js | 103 + .../tests_onhold/3_ajax/bServerSide.js | 20 + .../unit_testing/tests_onhold/3_ajax/bSort.js | 99 + .../tests_onhold/3_ajax/bSortClasses.js | 132 + .../tests_onhold/3_ajax/fnCreatedCell.js | 183 + .../tests_onhold/3_ajax/fnCreatedRow.js | 142 + .../tests_onhold/3_ajax/fnDrawCallback.js | 98 + .../tests_onhold/3_ajax/fnHeaderCallback.js | 191 + .../tests_onhold/3_ajax/fnInitComplete.js | 100 + .../tests_onhold/3_ajax/fnRowCallback.js | 112 + .../tests_onhold/3_ajax/fnServerData.js | 64 + .../tests_onhold/3_ajax/iDisplayLength.js | 81 + .../3_ajax/oLanguage.oPaginate.js | 84 + .../tests_onhold/3_ajax/oLanguage.sInfo.js | 117 + .../3_ajax/oLanguage.sInfoEmpty.js | 79 + .../3_ajax/oLanguage.sInfoPostFix.js | 78 + .../3_ajax/oLanguage.sLengthMenu.js | 111 + .../3_ajax/oLanguage.sLoadingRecords.js | 65 + .../3_ajax/oLanguage.sProcessing.js | 49 + .../tests_onhold/3_ajax/oLanguage.sSearch.js | 70 + .../tests_onhold/3_ajax/oLanguage.sUrl.js | 62 + .../3_ajax/oLanguage.sZeroRecords.js | 48 + .../tests_onhold/3_ajax/oSearch.js | 108 + .../tests_onhold/3_ajax/sAjaxDataProp.js | 139 + .../tests_onhold/3_ajax/sAjaxDataProp2.js | 139 + .../tests_onhold/3_ajax/sAjaxSource.js | 22 + .../unit_testing/tests_onhold/3_ajax/sDom.js | 262 + .../tests_onhold/3_ajax/sPaginationType.js | 134 + .../tests_onhold/4_server-side/-iDraw.js | 44 + .../tests_onhold/4_server-side/2440.js | 32 + .../tests_onhold/4_server-side/2569.js | 47 + .../tests_onhold/4_server-side/2600.js | 47 + .../4_server-side/_zero_config.js | 424 + .../tests_onhold/4_server-side/aaSorting.js | 212 + .../4_server-side/aaSortingFixed.js | 67 + .../4_server-side/aoColumns.bSearchable.js | 25 + .../4_server-side/aoColumns.bSortable.js | 112 + .../4_server-side/aoColumns.bUseRendered.js | 43 + .../4_server-side/aoColumns.bVisible.js | 123 + .../4_server-side/aoColumns.fnRender.js | 162 + .../4_server-side/aoColumns.sClass.js | 118 + .../4_server-side/aoColumns.sName.js | 29 + .../4_server-side/aoColumns.sTitle.js | 85 + .../4_server-side/aoColumns.sWidth.js | 90 + .../4_server-side/aoSearchCols.js | 70 + .../4_server-side/asStripClasses.js | 109 + .../tests_onhold/4_server-side/bAutoWidth.js | 145 + .../tests_onhold/4_server-side/bFilter.js | 47 + .../4_server-side/bInfiniteScroll.js | 168 + .../tests_onhold/4_server-side/bInfo.js | 47 + .../4_server-side/bLengthChange.js | 78 + .../tests_onhold/4_server-side/bPaginate.js | 62 + .../tests_onhold/4_server-side/bProcessing.js | 106 + .../tests_onhold/4_server-side/bServerSide.js | 21 + .../tests_onhold/4_server-side/bSort.js | 102 + .../4_server-side/bSortClasses.js | 135 + .../4_server-side/fnCreatedCell.js | 190 + .../4_server-side/fnCreatedRow.js | 148 + .../4_server-side/fnDrawCallback.js | 89 + .../4_server-side/fnHeaderCallback.js | 191 + .../4_server-side/fnInitComplete.js | 89 + .../4_server-side/fnRowCallback.js | 118 + .../4_server-side/iDeferLoading.js | 95 + .../4_server-side/iDisplayLength.js | 85 + .../4_server-side/oLanguage.oPaginate.js | 86 + .../4_server-side/oLanguage.sInfo.js | 124 + .../4_server-side/oLanguage.sInfoEmpty.js | 82 + .../4_server-side/oLanguage.sInfoPostFix.js | 82 + .../4_server-side/oLanguage.sLengthMenu.js | 115 + .../4_server-side/oLanguage.sProcessing.js | 51 + .../4_server-side/oLanguage.sSearch.js | 73 + .../4_server-side/oLanguage.sUrl.js | 64 + .../4_server-side/oLanguage.sZeroRecords.js | 58 + .../tests_onhold/4_server-side/oSearch.js | 100 + .../4_server-side/sAjaxDataProp.js | 146 + .../tests_onhold/4_server-side/sAjaxSource.js | 23 + .../tests_onhold/4_server-side/sDom.js | 269 + .../4_server-side/sPaginationType.js | 138 + .../5_ajax_objects/_zero_config.js | 847 ++ .../_zero_config_arrays_subobjects.js | 961 ++ .../5_ajax_objects/_zero_config_deep.js | 1075 ++ .../_zero_config_null_source.js | 458 + .../5_ajax_objects/_zero_config_objects.js | 847 ++ .../_zero_config_objects_subarrays.js | 961 ++ .../tests_onhold/5_ajax_objects/aaSorting.js | 296 + .../5_ajax_objects/aaSortingFixed.js | 88 + .../5_ajax_objects/aoColumns.bSearchable.js | 83 + .../5_ajax_objects/aoColumns.bSortable.js | 116 + .../5_ajax_objects/aoColumns.bUseRendered.js | 155 + .../5_ajax_objects/aoColumns.bVisible.js | 131 + .../5_ajax_objects/aoColumns.fnRender.js | 177 + .../5_ajax_objects/aoColumns.iDataSort.js | 90 + .../5_ajax_objects/aoColumns.sClass.js | 122 + .../5_ajax_objects/aoColumns.sName.js | 28 + .../5_ajax_objects/aoColumns.sTitle.js | 89 + .../5_ajax_objects/aoColumns.sWidth.js | 87 + .../5_ajax_objects/aoSearchCols.js | 161 + .../5_ajax_objects/asStripClasses.js | 133 + .../tests_onhold/5_ajax_objects/bAutoWidth.js | 163 + .../tests_onhold/5_ajax_objects/bFilter.js | 65 + .../tests_onhold/5_ajax_objects/bInfo.js | 65 + .../5_ajax_objects/bLengthChange.js | 96 + .../tests_onhold/5_ajax_objects/bPaginate.js | 80 + .../5_ajax_objects/bProcessing.js | 124 + .../5_ajax_objects/bServerSide.js | 27 + .../tests_onhold/5_ajax_objects/bSort.js | 120 + .../5_ajax_objects/bSortClasses.js | 153 + .../5_ajax_objects/fnDrawCallback.js | 126 + .../5_ajax_objects/fnHeaderCallback.js | 254 + .../5_ajax_objects/fnInitComplete.js | 135 + .../5_ajax_objects/fnRowCallback.js | 154 + .../5_ajax_objects/fnServerData.js | 92 + .../5_ajax_objects/iDisplayLength.js | 109 + .../5_ajax_objects/oLanguage.oPaginate.js | 98 + .../5_ajax_objects/oLanguage.sInfo.js | 166 + .../5_ajax_objects/oLanguage.sInfoEmpty.js | 100 + .../5_ajax_objects/oLanguage.sInfoPostFix.js | 106 + .../5_ajax_objects/oLanguage.sLengthMenu.js | 139 + .../5_ajax_objects/oLanguage.sProcessing.js | 63 + .../5_ajax_objects/oLanguage.sSearch.js | 91 + .../5_ajax_objects/oLanguage.sUrl.js | 76 + .../5_ajax_objects/oLanguage.sZeroRecords.js | 62 + .../tests_onhold/5_ajax_objects/oSearch.js | 150 + .../5_ajax_objects/sAjaxSource.js | 29 + .../tests_onhold/5_ajax_objects/sDom.js | 311 + .../5_ajax_objects/sPaginationType.js | 148 + .../6_delayed_rendering/_zero_config.js | 403 + .../6_delayed_rendering/aaSorting.js | 212 + .../6_delayed_rendering/aaSortingFixed.js | 70 + .../aoColumns.bSearchable.js | 79 + .../aoColumns.bSortable.js | 112 + .../aoColumns.bUseRendered.js | 151 + .../6_delayed_rendering/aoColumns.bVisible.js | 127 + .../6_delayed_rendering/aoColumns.fnRender.js | 190 + .../aoColumns.iDataSort.js | 92 + .../6_delayed_rendering/aoColumns.sClass.js | 118 + .../6_delayed_rendering/aoColumns.sName.js | 29 + .../6_delayed_rendering/aoColumns.sTitle.js | 85 + .../6_delayed_rendering/aoColumns.sWidth.js | 90 + .../6_delayed_rendering/aoSearchCols.js | 125 + .../6_delayed_rendering/asStripClasses.js | 109 + .../6_delayed_rendering/bAutoWidth.js | 145 + .../6_delayed_rendering/bFilter.js | 47 + .../tests_onhold/6_delayed_rendering/bInfo.js | 47 + .../6_delayed_rendering/bLengthChange.js | 78 + .../6_delayed_rendering/bPaginate.js | 62 + .../6_delayed_rendering/bProcessing.js | 106 + .../6_delayed_rendering/bServerSide.js | 21 + .../tests_onhold/6_delayed_rendering/bSort.js | 102 + .../6_delayed_rendering/bSortClasses.js | 135 + .../6_delayed_rendering/fnDrawCallback.js | 102 + .../6_delayed_rendering/fnHeaderCallback.js | 200 + .../6_delayed_rendering/fnInitComplete.js | 105 + .../6_delayed_rendering/fnRowCallback.js | 118 + .../6_delayed_rendering/fnServerData.js | 68 + .../6_delayed_rendering/iDisplayLength.js | 85 + .../oLanguage.oPaginate.js | 86 + .../6_delayed_rendering/oLanguage.sInfo.js | 124 + .../oLanguage.sInfoEmpty.js | 82 + .../oLanguage.sInfoPostFix.js | 82 + .../oLanguage.sLengthMenu.js | 115 + .../oLanguage.sProcessing.js | 51 + .../6_delayed_rendering/oLanguage.sSearch.js | 73 + .../6_delayed_rendering/oLanguage.sUrl.js | 64 + .../oLanguage.sZeroRecords.js | 50 + .../6_delayed_rendering/oSearch.js | 114 + .../6_delayed_rendering/sAjaxDataProp.js | 140 + .../6_delayed_rendering/sAjaxDataProp2.js | 140 + .../6_delayed_rendering/sAjaxSource.js | 23 + .../tests_onhold/6_delayed_rendering/sDom.js | 269 + .../6_delayed_rendering/sPaginationType.js | 136 + .../media/unit_testing/unit_test.js | 409 + .../web/scripts/DataTables-1.9.1/package.json | 34 + .../DataTables-1.9.1/scripts/jshint.config | 72 + .../scripts/DataTables-1.9.1/scripts/make.sh | 104 + .../DataTables-1.9.1/scripts/unit_tests.sh | 109 + .../js/jquery-ui-1.8.21.custom.min.js | 125 + src/main/resources/web/tests-summary.html | 190 + 791 files changed, 241082 insertions(+) create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/Readme.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/34cdb56b2c.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.columns.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oAria.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oPaginate.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oSearch.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.ext.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.ext.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oColumn.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oRow.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSearch.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oFeatures.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oLanguage.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oPreviousSearch.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oScroll.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/column_render.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/complex_header.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/defaults.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_multiple_elements.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_toolbar.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dt_events.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_live.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_post_init.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_pre_init.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/footer_callback.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/highlight.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/html_sort.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/language_file.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/length_menu.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/localstorage.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_callback.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_grouping.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/sorting_control.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/ajax.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/custom_data_property.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/deep.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/defer_render.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/null_data_source.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects_subarrays.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/array_only.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays_subobjects.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/custom_prop.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/deep.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects_subarrays.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/add_row.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/api_in_init.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/counter_column.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/editable.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/form.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/highlight.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter_select.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/regex.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/row_details.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_row.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_single_row.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/show_hide.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/api/tabs_and_scrolling.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/alt_pagination.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base_themeroller.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/complex_header.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/dom.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/filter_only.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/flexible_width.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/hidden_columns.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/language.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multi_col_sort.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multiple_tables.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_x.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_xy.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_infinite.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_theme.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/state_save.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/table_sorting.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/themes.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/zero_config.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/ajax.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/dom.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/js_array.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/server_side.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/data.sql create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/de_DE.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_close.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_open.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/editable_ajax.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/infiniteScroll.php create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery-ui-tabs.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery.jeditable.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery.tooltip.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery.tooltip.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/syntax/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/syntax/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/syntax/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/syntax/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/syntax/license/Syntax Highlighter create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-icons_222222_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-icons_454545_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-icons_888888_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/dom_sort.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/html_sort.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/paging_plugin.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/plugin_api.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/range_filtering.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/sorting_plugin.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/plug-ins/sorting_sType.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/custom_vars.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/defer_loading.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/editable.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/ids.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/jsonp.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/object_data.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/pipeline.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/post.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/row_details.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/custom_data_property.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/details_col.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/filter_col.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/id.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/id_jsonp.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/jsonp.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/objects.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/objects_jsonp.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/post.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/scripts/server_processing.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/select_rows.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/examples/server_side/server_side.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/callbacks.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/columns.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/index.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/inputs.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/css/AutoFill.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/02ff627f40.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/36456bf45f.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/47cac4f141.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/5a72546831.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/8ee4007a12.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/AutoFill.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/a69b02bcf2.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/b44bd4821a.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/c6945fdb4a.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/global.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/images/filler.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/js/AutoFill.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/js/AutoFill.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/media/js/AutoFill.min.js.gz create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/AutoFill/scrolling.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/alt_insert.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/col_filter.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/colvis.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/fixedcolumns.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/fixedheader.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/css/ColReorder.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/46848f6f3b.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/4f1246032c.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/ColReorder.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/a69b02bcf2.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/global.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/images/insert.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/js/ColReorder.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/js/ColReorder.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/media/js/ColReorder.min.js.gz create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/predefined.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/reset.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/scrolling.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/server_side.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/state_save.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColReorder/theme.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/exclude_columns.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/index.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/css/ColVis.css create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/css/ColVisAlt.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/ColVis.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/a69b02bcf2.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/ccb5a49865.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/global.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/images/button.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/js/ColVis.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/js/ColVis.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/media/js/ColVis.min.js.gz create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/mouseover.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/style.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/text.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/theme.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/title_callback.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/two_tables.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/ColVis/two_tables_identical.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/col_filter.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/css_size.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/070023b890.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/526f872207.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/73098af57c.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/889588ec06.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/91bce7c4ad.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/FixedColumns.defaults.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/FixedColumns.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/a6bd52f587.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/d3890ba7c4.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/e20106c59a.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/global.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/index_column.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/left_right_columns.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/media/js/FixedColumns.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/media/js/FixedColumns.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/media/js/FixedColumns.min.js.gz create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/right_column.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/row_grouping.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/row_grouping_height.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/rowspan.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/scale_fixed.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/scale_relative.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/server-side-processing.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/themed.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/two_columns.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedColumns/x_y_scrolling.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/html_table.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/js/FixedHeader.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/js/FixedHeader.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/js/FixedHeader.min.js.gz create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/top_bottom_left_right.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/top_left.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/two_tables.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/FixedHeader/zIndexes.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/datatable.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/datatable_scrolling.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/editing.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/form.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/js/KeyTable.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/js/KeyTable.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/KeyTable/js/KeyTable.min.js.gz create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/api_scrolling.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/large_js_source.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/data/2500.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/data/server_processing.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/140369713c.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/28e3b9ac00.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/fd374c06d9.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/global.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/css/doc.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/css/shCore.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/css/shThemeDataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/images/arrow.jpg create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/images/extended.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/js/doc.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/js/shBrushJScript.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/js/shCore.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/docs/media/license/Syntax Highlighter create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/js/Scroller.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/js/Scroller.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/media/js/Scroller.min.js.gz create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/server-side_processing.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/Scroller/state_saving.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/alt_init.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/alter_buttons.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/button_text.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/collection.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/defaults.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/index.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/as3/ZeroClipboard.as create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/as3/ZeroClipboardPdf.as create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/as3/lib/AlivePDF.swc create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/css/TableTools.css create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/css/TableTools_JUI.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/background.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/collection.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/collection_hover.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/copy.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/copy_hover.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/csv.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/csv_hover.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/pdf.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/pdf_hover.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/print.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/print_hover.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/psd/collection.psd create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/psd/copy document.psd create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/psd/file_types.psd create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/psd/printer.psd create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/xls.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/images/xls_hover.png create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/js/TableTools.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/js/TableTools.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/js/TableTools.min.js.gz create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/js/ZeroClipboard.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/swf/copy_csv_xls.swf create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/media/swf/copy_csv_xls_pdf.swf create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/multi_instance.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/multiple_tables.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/pdf_message.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/plug-in.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/select_multi.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/select_single.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/swf_path.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/tabs.html create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/extras/TableTools/theme.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/license-bsd.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/license-gpl2.txt create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/css/demo_page.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/css/demo_table.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/css/demo_table_jui.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/css/jquery.dataTables.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/css/jquery.dataTables_themeroller.css create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/Sorting icons.psd create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/back_disabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/back_enabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/back_enabled_hover.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/favicon.ico create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/forward_disabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/forward_enabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/forward_enabled_hover.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/sort_asc.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/sort_asc_disabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/sort_both.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/sort_desc.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/images/sort_desc_disabled.png create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/js/jquery.dataTables.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/js/jquery.dataTables.min.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/js/jquery.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/DataTables.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/api/api.internal.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/api/api.methods.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/api/api.static.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.ajax.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.columns.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.constructor.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.data.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.draw.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.filter.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.info.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.init.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.length.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.page.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.processing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.scrolling.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.sizing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.sort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.state.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/core/core.support.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/ext/ext.classes.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/ext/ext.paging.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/ext/ext.sorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/ext/ext.types.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.column.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.defaults.columns.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.defaults.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.ext.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.row.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.search.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/src/model/model.settings.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/controller.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/controller.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/index.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/performance/draw.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/performance/large.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/performance/page.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/performance/sort.html create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/-complex_header.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/2512.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/6776.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/complex_header_2.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/deferred_table.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/dom_data.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/dom_data_th.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/dom_data_two_headers.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/dymanic_table.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/empty_table.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/html_table.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/js_data.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/js_data_mixed_types.php create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/templates/two_tables.php create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests/1_dom/_zero_config.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/-complex_header.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/-iDraw.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2512.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2530-2.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2530.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2569.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2600.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2608.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2635.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2799.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/5396-fnUpdate-arrays.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/5508-xscroll-zero-content.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/6776-scrolling-table-grows.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/_zero_config.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aaSorting.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible2.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/aoSearchCols.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/asStripClasses.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bAutoWidth.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bFilter.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bInfo.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bJQueryUI.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bLengthChange.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bPaginate.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bProcessing.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bServerSide.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bSortCellsTop.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/bSortClasses.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnCreatedCell.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnCreatedRow.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnDeleteRow.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnDrawCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnFilter.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnFooterCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnInfoCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnInitComplete.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnRowCallback.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnSetColumnVis.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/fnSetColumnVis2.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/html-autodetect-sort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/iDisplayLength.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/oSearch.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/sAjaxSource.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/sDom.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/sPaginationType.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/sScrollXY.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/1_dom/th_in_body.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/6872-default-content-missing-props.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/8549--string-sorting-nonstrings.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/_zero_config.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aaSorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/aoSearchCols.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/asStripClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bAutoWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bFilter.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bLengthChange.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bServerSide.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bSort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/bSortClasses.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnCreatedCell.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnCreatedRow.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnDrawCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnFooterCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnHeaderCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnInitComplete.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/fnRowCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/iDisplayLength.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/js_data_mixed_types.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/oSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/sAjaxSource.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/sDom.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/2_js/sPaginationType.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/_zero_config.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aaSorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/aoSearchCols.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/asStripClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bFilter.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bLengthChange.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bServerSide.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bSort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/bSortClasses.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnCreatedCell.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnCreatedRow.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnInitComplete.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnRowCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/fnServerData.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/iDisplayLength.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLoadingRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/oSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/sAjaxDataProp.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/sAjaxDataProp2.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/sAjaxSource.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/sDom.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/3_ajax/sPaginationType.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/-iDraw.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/2440.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/2569.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/2600.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/_zero_config.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aaSorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/aoSearchCols.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/asStripClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bAutoWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bFilter.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bLengthChange.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bServerSide.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bSort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/bSortClasses.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnCreatedCell.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnCreatedRow.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnInitComplete.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/fnRowCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/iDeferLoading.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/iDisplayLength.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/oSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/sAjaxDataProp.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/sAjaxSource.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/sDom.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/4_server-side/sPaginationType.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_null_source.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aaSorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.iDataSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.sWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/aoSearchCols.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/asStripClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bAutoWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bFilter.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bLengthChange.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bServerSide.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bSort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/bSortClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/fnDrawCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/fnHeaderCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/fnInitComplete.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/fnRowCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/fnServerData.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/iDisplayLength.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.oPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoEmpty.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sInfoPostFix.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sLengthMenu.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sUrl.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oLanguage.sZeroRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/oSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/sAjaxSource.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/sDom.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/5_ajax_objects/sPaginationType.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/_zero_config.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aaSorting.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aaSortingFixed.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSearchable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bSortable.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bUseRendered.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.bVisible.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.fnRender.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.iDataSort.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sClass.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sName.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sTitle.js create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoColumns.sWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/aoSearchCols.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/asStripClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bAutoWidth.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bFilter.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bLengthChange.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bServerSide.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bSort.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/bSortClasses.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/fnDrawCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/fnHeaderCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/fnInitComplete.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/fnServerData.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/iDisplayLength.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.oPaginate.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfo.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoEmpty.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sInfoPostFix.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sLengthMenu.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sProcessing.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sUrl.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oLanguage.sZeroRecords.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/oSearch.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxSource.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/sDom.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/tests_onhold/6_delayed_rendering/sPaginationType.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/media/unit_testing/unit_test.js create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/package.json create mode 100644 src/main/resources/web/scripts/DataTables-1.9.1/scripts/jshint.config create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/scripts/make.sh create mode 100755 src/main/resources/web/scripts/DataTables-1.9.1/scripts/unit_tests.sh create mode 100755 src/main/resources/web/scripts/jquery-ui-1.8.21.custom/js/jquery-ui-1.8.21.custom.min.js create mode 100644 src/main/resources/web/tests-summary.html diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.css b/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.css new file mode 100644 index 0000000..8d51761 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.css @@ -0,0 +1,47 @@ + +div.dataTables_length label { + float: left; + text-align: left; +} + +div.dataTables_length select { + width: 75px; +} + +div.dataTables_filter label { + float: right; +} + +div.dataTables_info { + padding-top: 8px; +} + +div.dataTables_paginate { + float: right; + margin: 0; +} + +table.table { + clear: both; + margin-bottom: 6px !important; +} + +table.table thead .sorting, +table.table thead .sorting_asc, +table.table thead .sorting_desc, +table.table thead .sorting_asc_disabled, +table.table thead .sorting_desc_disabled { + cursor: pointer; + *cursor: hand; +} + +table.table thead .sorting { background: url('media/images/sort_both.png') no-repeat center right; } +table.table thead .sorting_asc { background: url('media/images/sort_asc.png') no-repeat center right; } +table.table thead .sorting_desc { background: url('media/images/sort_desc.png') no-repeat center right; } + +table.table thead .sorting_asc_disabled { background: url('media/images/sort_asc_disabled.png') no-repeat center right; } +table.table thead .sorting_desc_disabled { background: url('media/images/sort_desc_disabled.png') no-repeat center right; } + +table.dataTable th:active { + outline: none; +} diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.js b/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.js new file mode 100644 index 0000000..9f50504 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/DT_bootstrap.js @@ -0,0 +1,106 @@ +/* Default class modification */ +$.extend( $.fn.dataTableExt.oStdClasses, { + "sWrapper": "dataTables_wrapper form-inline" +} ); + +/* API method to get paging information */ +$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) +{ + return { + "iStart": oSettings._iDisplayStart, + "iEnd": oSettings.fnDisplayEnd(), + "iLength": oSettings._iDisplayLength, + "iTotal": oSettings.fnRecordsTotal(), + "iFilteredTotal": oSettings.fnRecordsDisplay(), + "iPage": Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ), + "iTotalPages": Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength ) + }; +} + +/* Bootstrap style pagination control */ +$.extend( $.fn.dataTableExt.oPagination, { + "bootstrap": { + "fnInit": function( oSettings, nPaging, fnDraw ) { + var oLang = oSettings.oLanguage.oPaginate; + var fnClickHandler = function ( e ) { + e.preventDefault(); + if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) { + fnDraw( oSettings ); + } + }; + + $(nPaging).addClass('pagination').append( + '' + ); + var els = $('a', nPaging); + $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler ); + $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler ); + }, + + "fnUpdate": function ( oSettings, fnDraw ) { + var iListLength = 5; + var oPaging = oSettings.oInstance.fnPagingInfo(); + var an = oSettings.aanFeatures.p; + var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2); + + if ( oPaging.iTotalPages < iListLength) { + iStart = 1; + iEnd = oPaging.iTotalPages; + } + else if ( oPaging.iPage <= iHalf ) { + iStart = 1; + iEnd = iListLength; + } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) { + iStart = oPaging.iTotalPages - iListLength + 1; + iEnd = oPaging.iTotalPages; + } else { + iStart = oPaging.iPage - iHalf + 1; + iEnd = iStart + iListLength - 1; + } + + for ( i=0, iLen=an.length ; i'+j+'') + .insertBefore( $('li:last', an[i])[0] ) + .bind('click', function (e) { + e.preventDefault(); + oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength; + fnDraw( oSettings ); + } ); + } + + // Add / remove disabled classes from the static elements + if ( oPaging.iPage === 0 ) { + $('li:first', an[i]).addClass('disabled'); + } else { + $('li:first', an[i]).removeClass('disabled'); + } + + if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) { + $('li:last', an[i]).addClass('disabled'); + } else { + $('li:last', an[i]).removeClass('disabled'); + } + } + } + } +} ); + +/* Table initialisation */ +$(document).ready(function() { + $('#demo').dataTable( { + "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>", + "sPaginationType": "bootstrap", + "oLanguage": { + "sLengthMenu": "_MENU_ records per page" + } + } ); +} ); \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/Readme.txt b/src/main/resources/web/scripts/DataTables-1.9.1/Readme.txt new file mode 100644 index 0000000..96a47cb --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/Readme.txt @@ -0,0 +1,11 @@ +This DataTables plugin (v1.9.x) for jQuery was developed out of the desire to allow highly configurable access to HTML tables with advanced access features. + +For detailed installation, usage and API instructions, please refer to the DataTables web-pages: http://www.datatables.net + +Questions, feature requests and bug reports (etc) can all be asked on the DataTables forums: http://www.datatables.net/forums/ + +The DataTables source can be found in the media/js/ directory of this archive. + +DataTables is released with dual licensing, using the GPL v2 (license-gpl2.txt) and an BSD style license (license-bsd.txt). You may select which of the two licenses you wish to use DataTables under. Please see the corresponding license file for details of these licenses. You are free to use, modify and distribute this software, but all copyright information must remain. + +If you discover any bugs in DataTables, have any suggestions for improvements or even if you just like using it, please free to get in touch with me: www.datatables.net/contact \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/34cdb56b2c.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/34cdb56b2c.html new file mode 100644 index 0000000..fe5a672 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/34cdb56b2c.html @@ -0,0 +1,1925 @@ + + + + + Namespace: oApi - documentation + + + + + + + + + +
+ + +
+

Namespace: oApi

+

Ancestry: DataTable# » oApi

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Reference to internal functions for use by plug-in developers. Note that these +methods are references to internal functions and are considered to be private. +If you use these methods, be aware that they are liable to change between versions +(check the upgrade notes).

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> _fnJsonString
JSON stringify. If JSON.stringify it provided by the browser, json2.js or any other +library, then we use that as it is fast, safe and accurate. If the function isn't +available then we need to built it ourselves - the insperation for this function comes +from Craig Buckler ( http://www.sitepoint.com/javascript-json-serialization/ ). It is +not perfect and absolutely should not be used as a replacement to json2.js - but it does +do what we need, without requiring a dependency for DataTables.
+

Methods

+ +
+
<static> _fnAddColumn(oSettings, nTh)
Add a column to the list used for the table with default values
<static> _fnAddData(oSettings, aData) → {int}
Add a data array to the table, creating DOM node etc. This is the parallel to +_fnGatherData, but for adding rows from a Javascript source, rather than a +DOM source.
<static> _fnAddOptionsHtml(oSettings)
Add the options to the page HTML for the table
<static> _fnAdjustColumnSizing(oSettings)
Adjust the table column widths for new data. Note: you would probably want to +do a redraw after calling this function!
<static> _fnAjaxParameters(oSettings) → {bool}
Build up the parameters in an object needed for a server-side processing request
<static> _fnAjaxUpdate(oSettings) → {boolean}
Update the table using an Ajax call
<static> _fnAjaxUpdateDraw(oSettings, json)
Data the data from the server (nuking the old) and redraw the table
<static> _fnApplyColumnDefs(oSettings, aoColDefs, aoCols, fn)
Take the column definitions and static columns arrays and calculate how +they relate to column indexes. The callback function will then apply the +definition found for a column to a suitable configuration object.
<static> _fnApplyToChildren(fn, array, array)
Apply a given function to the display child nodes of an element array (typically +TD children of TR rows
<static> _fnBindAction(n, oData, {function))
Bind an event handers to allow a click or return key to activate the callback. +This is good for accessability since a return on the keyboard will have the +same effect as a click, if the element has focus.
<static> _fnBuildHead(oSettings)
Create the HTML header for the table
<static> _fnBuildSearchArray(oSettings, iMaster)
Create an array which can be quickly search through
<static> _fnBuildSearchRow(oSettings, aData)
Create a searchable string from a single data row
<static> _fnCalculateColumnWidths(oSettings)
Calculate the width of columns for the table
<static> _fnCalculateEnd(oSettings)
Rcalculate the end point based on the start point
<static> _fnCallbackFire(oSettings, sStore, sTrigger, {array))
Fire callback functions and trigger events. Note that the loop over the callback +array store is done backwards! Further note that you do not want to fire off triggers +in time sensitive applications (for example cell creation) as its slow.
<static> _fnCallbackReg(oSettings, sStore, fn, {string))
Register a callback function. Easily allows a callback function to be added to +an array store of callback functions that can then all be called together.
<static> _fnClearTable(oSettings)
Nuke the table
<static> _fnColumnIndexToVisible(iMatch, oSettings) → {int}
Covert the index of an index in the data array and convert it to the visible + column index (take account of hidden columns)
<static> _fnColumnOptions(oSettings, iCol, oOptions)
Apply options for a column
<static> _fnColumnOrdering(oSettings) → {string}
Get the column ordering that DataTables expects
<static> _fnConvertToWidth(sWidth, nParent) → {int}
Convert a CSS unit width to pixels (e.g. 2em)
<static> _fnCreateCookie(sName, sValue, iSecs, sBaseName, fnCallback)
Create a new cookie with a value to store the state of a table
<static> _fnCreateTr(oSettings, iRow)
Create a new TR element (and it's TD children) for a row
<static> _fnDataToSearch(sData, sType) → {string}
Convert raw data into something that the user can search on
<static> _fnDeleteIndex(a, iTarget)
Take an array of integers (index array) and remove a target integer (value - not +the key!)
<static> _fnDetectHeader(array, nThead)
Use the DOM source to create up an array of header cells. The idea here is to +create a layout grid (array) of rows x columns, which contains a reference +to the cell that that point in the grid (regardless of col/rowspan), such that +any column / row could be removed and the new grid constructed
<static> _fnDetectType(sData) → {string}
Get the sort type based on an input string
<static> _fnDraw(oSettings)
Insert the required TR nodes into the table for display
<static> _fnDrawHead(oSettings, array, bIncludeHidden)
Draw the header (or footer) element based on the column visibility states. The +methodology here is to use the layout array from _fnDetectHeader, modified for +the instantaneous column visibility, to construct the new layout. The grid is +traversed over cell at a time in a rows x columns grid fashion, although each +cell insert can cover multiple elements in the grid - which is tracks using the +aApplied array. Cell inserts in the grid will only occur where there isn't +already a cell in that position.
<static> _fnEscapeRegex(sVal) → {string}
scape a string stuch that it can be used in a regular expression
<static> _fnExtend(oOut, oExtender) → {object}
Extend objects - very similar to jQuery.extend, but deep copy objects, and shallow +copy arrays. The reason we need to do this, is that we don't want to deep copy array +init values (such as aaSorting) since the dev wouldn't be able to override them, but +we do want to deep copy arrays.
<static> _fnExternApiFunc(sFunc) → {function}
Create a wrapper function for exporting an internal functions to an external API.
<static> _fnFeatureHtmlFilter(oSettings) → {node}
Generate the node required for filtering text
<static> _fnFeatureHtmlInfo(oSettings) → {node}
Generate the node required for the info display
<static> _fnFeatureHtmlLength(oSettings) → {node}
Generate the node required for user display length changing
<static> _fnFeatureHtmlPaginate(oSettings) → {node}
Generate the node required for default pagination
<static> _fnFeatureHtmlProcessing(oSettings) → {node}
Generate the node required for the processing node
<static> _fnFeatureHtmlTable(oSettings) → {node}
Add any control elements for the table - specifically scrolling
<static> _fnFilter(oSettings, sInput, iForce, bRegex, bSmart, bCaseInsensitive)
Filter the data table based on user input and draw the table
<static> _fnFilterColumn(oSettings, sInput, iColumn, bRegex, bSmart, bCaseInsensitive)
Filter the table on a per-column basis
<static> _fnFilterComplete(oSettings, oSearch, iForce)
Filter the table using both the global filter and column based filtering
<static> _fnFilterCreateSearch(sSearch, bRegex, bSmart, bCaseInsensitive) → {RegExp}
Build a regular expression object suitable for searching a table
<static> _fnFilterCustom(oSettings)
Apply custom filtering functions
<static> _fnGatherData(oSettings)
Read in the data from the target table from the DOM
<static> _fnGetCellData(oSettings, iRow, iCol, sSpecific) → {*}
Get the data for a given cell from the internal cache, taking into account data mapping
<static> _fnGetDataMaster(oSettings)
Return an array with the full table data
<static> _fnGetMaxLenString(oSettings, iCol) → {string}
Get the maximum strlen for each data column
<static> _fnGetObjectDataFn(mSource) → {function}
Return a function that can be used to get data from a source object, taking +into account the ability to use nested objects as a source
<static> _fnGetRowData(oSettings, iRow, sSpecific) → {array}
Get an array of data for a given row from the internal data cache
<static> _fnGetTdNodes(oSettings, iIndividualRow) → {array}
Return an flat array with all TD nodes for the table, or row
<static> _fnGetTrNodes(oSettings) → {array}
Return an array with the TR nodes for the table
<static> _fnGetUniqueThs(oSettings, nHeader, aLayout)
Get an array of unique th elements, one for each column
<static> _fnGetWidestNode(oSettings, iCol) → {string}
Get the widest node
<static> _fnInitComplete(oSettings, json)
Draw the table for the first time, adding all required features
<static> _fnInitialise(oSettings)
Draw the table for the first time, adding all required features
<static> _fnLanguageCompat(oSettings)
Language compatibility - when certain options are given, and others aren't, we +need to duplicate the values over, in order to provide backwards compatibility +with older language files.
<static> _fnLoadState(oSettings, oInit)
Attempt to load a saved table state from a cookie
<static> _fnLog(oSettings, iLevel, sMesg)
Log an error message
<static> _fnMap(oRet, oSrc, sName, sMappedName)
See if a property is defined on one object, if so assign it to the other object
<static> _fnNodeToColumnIndex(oSettings, iRow, n) → {int}
Take a TD element and convert it into a column data index (not the visible index)
<static> _fnNodeToDataIndex(oSettings, n) → {int}
Take a TR element and convert it to an index in aoData
<static> _fnPageChange(oSettings, mAction) → {bool}
Alter the display settings to change the page
<static> _fnProcessingDisplay(oSettings, bShow)
Display or hide the processing indicator
<static> _fnReadCookie(sName) → {string}
Read an old cookie to get a cookie with an old table state
<static> _fnReDraw(oSettings)
Redraw the table - taking account of the various features which are enabled
<static> _fnRender(oSettings, iRow, iCol) → {*}
Call the developer defined fnRender function for a given cell (row/column) with +the required parameters and return the result.
<static> _fnReOrderIndex(oSettings)
Figure out how to reorder a display list
<static> _fnSaveState(oSettings)
Save the state of a table in a cookie such that the page can be reloaded
<static> _fnScrollBarWidth() → {int}
Get the width of a scroll bar in this browser being used
<static> _fnScrollDraw(o) → {node}
Update the various tables for resizing. It's a bit of a pig this function, but +basically the idea to: + 1. Re-create the table inside the scrolling div + 2. Take live measurements from the DOM + 3. Apply the measurements + 4. Clean up
<static> _fnScrollingWidthAdjust(oSettings, n)
Adjust a table's width to take account of scrolling
<static> _fnServerParams(oSettings, array)
Add Ajax parameters from plugins
<static> _fnSetCellData(oSettings, iRow, iCol, val)
Set the value for a specific cell, into the internal data cache
<static> _fnSetObjectDataFn(mSource) → {function}
Return a function that can be used to set data from a source object, taking +into account the ability to use nested objects as a source
<static> _fnSettingsFromNode(nTable) → {object}
Return the settings object for a particular table
<static> _fnSort(oSettings, bApplyClasses)
Change the order of the table
<static> _fnSortAttachListener(oSettings, nNode, iDataIndex, fnCallback)
Attach a sort handler (click) to a node
<static> _fnSortingClasses(oSettings)
Set the sorting classes on the header, Note: it is safe to call this function +when bSort and bSortClasses are false
<static> _fnStringToCss(aArray1, aArray2) → {int}
Append a CSS unit (only if required) to a string
<static> _fnUpdateInfo(oSettings)
Update the information elements in the display
<static> _fnVisbleColumns(oS) → {int}
Get the number of visible columns
<static> _fnVisibleToColumnIndex(oSettings, iMatch) → {int}
Covert the index of a visible column to the index in the data array (take account +of hidden columns)
+
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> _fnJsonString

JSON stringify. If JSON.stringify it provided by the browser, json2.js or any other +library, then we use that as it is fast, safe and accurate. If the function isn't +available then we need to built it ourselves - the insperation for this function comes +from Craig Buckler ( http://www.sitepoint.com/javascript-json-serialization/ ). It is +not perfect and absolutely should not be used as a replacement to json2.js - but it does +do what we need, without requiring a dependency for DataTables.

+ +
+
+

Methods

+
+
<static> _fnAddColumn(oSettings, nTh)

Add a column to the list used for the table with default values

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
nThnodeThe th element for this column
+
<static> _fnAddData(oSettings, aData) → {int}

Add a data array to the table, creating DOM node etc. This is the parallel to +_fnGatherData, but for adding rows from a Javascript source, rather than a +DOM source.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
aDataarraydata array to be added
Returns:

>=0 if successful (index of new aoData entry), -1 if failed

+
<static> _fnAddOptionsHtml(oSettings)

Add the options to the page HTML for the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnAdjustColumnSizing(oSettings)

Adjust the table column widths for new data. Note: you would probably want to +do a redraw after calling this function!

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnAjaxParameters(oSettings) → {bool}

Build up the parameters in an object needed for a server-side processing request

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

block the table drawing or not

+
<static> _fnAjaxUpdate(oSettings) → {boolean}

Update the table using an Ajax call

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Block the table drawing or not

+
<static> _fnAjaxUpdateDraw(oSettings, json)

Data the data from the server (nuking the old) and redraw the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
jsonobjectjson data return from the server.
json.sEchostringTracking flag for DataTables to match requests
json.iTotalRecordsintNumber of records in the data set, not accounting for filtering
json.iTotalDisplayRecordsintNumber of records in the data set, accounting for filtering
json.aaDataarrayThe data to display on this page
json.sColumnsstring<optional>
Column ordering (sName, comma separated)
+
<static> _fnApplyColumnDefs(oSettings, aoColDefs, aoCols, fn)

Take the column definitions and static columns arrays and calculate how +they relate to column indexes. The callback function will then apply the +definition found for a column to a suitable configuration object.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
aoColDefsarrayThe aoColumnDefs array that is to be applied
3
aoColsarrayThe aoColumns array that defines columns individually
4
fnfunctionCallback function - takes two parameters, the calculated + column index and the definition for that column.
+
<static> _fnApplyToChildren(fn, array, array)

Apply a given function to the display child nodes of an element array (typically +TD children of TR rows

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
fnfunctionMethod to apply to the objects
2
array{nodes} an1 List of elements to look through for display children
3
array{nodes} an2 Another list (identical structure to the first) - optional
+
<static> _fnBindAction(n, oData, {function))

Bind an event handers to allow a click or return key to activate the callback. +This is good for accessability since a return on the keyboard will have the +same effect as a click, if the element has focus.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nelementElement to bind the action to
2
oDataobjectData object to pass to the triggered function
3
{function)fn Callback function for when the event is triggered
+
<static> _fnBuildHead(oSettings)

Create the HTML header for the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnBuildSearchArray(oSettings, iMaster)

Create an array which can be quickly search through

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iMasterintuse the master data array - optional
+
<static> _fnBuildSearchRow(oSettings, aData)

Create a searchable string from a single data row

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
aDataarrayRow data array to use for the data to search
+
<static> _fnCalculateColumnWidths(oSettings)

Calculate the width of columns for the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnCalculateEnd(oSettings)

Rcalculate the end point based on the start point

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnCallbackFire(oSettings, sStore, sTrigger, {array))

Fire callback functions and trigger events. Note that the loop over the callback +array store is done backwards! Further note that you do not want to fire off triggers +in time sensitive applications (for example cell creation) as its slow.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
sStorestringName of the array storeage for the callbacks in oSettings
3
sTriggerstringName of the jQuery custom event to trigger. If null no trigger + is fired
4
{array)aArgs Array of arguments to pass to the callback function / trigger
+
<static> _fnCallbackReg(oSettings, sStore, fn, {string))

Register a callback function. Easily allows a callback function to be added to +an array store of callback functions that can then all be called together.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
sStorestringName of the array storeage for the callbacks in oSettings
3
fnfunctionFunction to be called back
4
{string)sName Identifying name for the callback (i.e. a label)
+
<static> _fnClearTable(oSettings)

Nuke the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnColumnIndexToVisible(iMatch, oSettings) → {int}

Covert the index of an index in the data array and convert it to the visible + column index (take account of hidden columns)

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
iMatchintColumn index to lookup
2
oSettingsobjectdataTables settings object
Returns:

i the data index

+
<static> _fnColumnOptions(oSettings, iCol, oOptions)

Apply options for a column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iColintcolumn index to consider
3
oOptionsobjectobject with sType, bVisible and bSearchable
+
<static> _fnColumnOrdering(oSettings) → {string}

Get the column ordering that DataTables expects

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

comma separated list of names

+
<static> _fnConvertToWidth(sWidth, nParent) → {int}

Convert a CSS unit width to pixels (e.g. 2em)

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sWidthstringwidth to be converted
2
nParentnodeparent to get the with for (required for relative widths) - optional
Returns:

iWidth width in pixels

+
<static> _fnCreateCookie(sName, sValue, iSecs, sBaseName, fnCallback)

Create a new cookie with a value to store the state of a table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sNamestringname of the cookie to create
2
sValuestringthe value the cookie should take
3
iSecsintduration of the cookie
4
sBaseNamestringsName is made up of the base + file name - this is the base
5
fnCallbackfunctionUser definable function to modify the cookie
+
<static> _fnCreateTr(oSettings, iRow)

Create a new TR element (and it's TD children) for a row

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintRow to consider
+
<static> _fnDataToSearch(sData, sType) → {string}

Convert raw data into something that the user can search on

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sDatastringdata to be modified
2
sTypestringdata type
Returns:

search string

+
<static> _fnDeleteIndex(a, iTarget)

Take an array of integers (index array) and remove a target integer (value - not +the key!)

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
aarrayIndex array to target
2
iTargetintvalue to find
+
<static> _fnDetectHeader(array, nThead)

Use the DOM source to create up an array of header cells. The idea here is to +create a layout grid (array) of rows x columns, which contains a reference +to the cell that that point in the grid (regardless of col/rowspan), such that +any column / row could be removed and the new grid constructed

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
array{object} aLayout Array to store the calculated layout in
2
nTheadnodeThe header/footer element for the table
+
<static> _fnDetectType(sData) → {string}

Get the sort type based on an input string

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sDatastringdata we wish to know the type of
Returns:

type (defaults to 'string' if no type can be detected)

+
<static> _fnDraw(oSettings)

Insert the required TR nodes into the table for display

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnDrawHead(oSettings, array, bIncludeHidden)

Draw the header (or footer) element based on the column visibility states. The +methodology here is to use the layout array from _fnDetectHeader, modified for +the instantaneous column visibility, to construct the new layout. The grid is +traversed over cell at a time in a rows x columns grid fashion, although each +cell insert can cover multiple elements in the grid - which is tracks using the +aApplied array. Cell inserts in the grid will only occur where there isn't +already a cell in that position.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
array{objects} aoSource Layout array from _fnDetectHeader
3
bIncludeHiddenbooleanOptionalfalseIf true then include the hidden columns in the calc,
+
<static> _fnEscapeRegex(sVal) → {string}

scape a string stuch that it can be used in a regular expression

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sValstringstring to escape
Returns:

escaped string

+
<static> _fnExtend(oOut, oExtender) → {object}

Extend objects - very similar to jQuery.extend, but deep copy objects, and shallow +copy arrays. The reason we need to do this, is that we don't want to deep copy array +init values (such as aaSorting) since the dev wouldn't be able to override them, but +we do want to deep copy arrays.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oOutobjectObject to extend
2
oExtenderobjectObject from which the properties will be applied to oOut
Returns:

oOut Reference, just for convenience - oOut === the return.

+
<static> _fnExternApiFunc(sFunc) → {function}

Create a wrapper function for exporting an internal functions to an external API.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sFuncstringAPI function name
Returns:

wrapped function

+
<static> _fnFeatureHtmlFilter(oSettings) → {node}

Generate the node required for filtering text

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Filter control element

+
<static> _fnFeatureHtmlInfo(oSettings) → {node}

Generate the node required for the info display

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Information element

+
<static> _fnFeatureHtmlLength(oSettings) → {node}

Generate the node required for user display length changing

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Display length feature node

+
<static> _fnFeatureHtmlPaginate(oSettings) → {node}

Generate the node required for default pagination

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Pagination feature node

+
<static> _fnFeatureHtmlProcessing(oSettings) → {node}

Generate the node required for the processing node

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Processing element

+
<static> _fnFeatureHtmlTable(oSettings) → {node}

Add any control elements for the table - specifically scrolling

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

Node to add to the DOM

+
<static> _fnFilter(oSettings, sInput, iForce, bRegex, bSmart, bCaseInsensitive)

Filter the data table based on user input and draw the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
sInputstringstring to filter on
3
iForceintoptional - force a research of the master array (1) or not (undefined or 0)
4
bRegexbooltreat as a regular expression or not
5
bSmartboolperform smart filtering or not
6
bCaseInsensitiveboolDo case insenstive matching or not
+
<static> _fnFilterColumn(oSettings, sInput, iColumn, bRegex, bSmart, bCaseInsensitive)

Filter the table on a per-column basis

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
sInputstringstring to filter on
3
iColumnintcolumn to filter
4
bRegexbooltreat search string as a regular expression or not
5
bSmartbooluse smart filtering or not
6
bCaseInsensitiveboolDo case insenstive matching or not
+
<static> _fnFilterComplete(oSettings, oSearch, iForce)

Filter the table using both the global filter and column based filtering

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
oSearchobjectsearch information
3
iForceintOptionalforce a research of the master array (1) or not (undefined or 0)
+
<static> _fnFilterCreateSearch(sSearch, bRegex, bSmart, bCaseInsensitive) → {RegExp}

Build a regular expression object suitable for searching a table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sSearchstringstring to search for
2
bRegexbooltreat as a regular expression or not
3
bSmartboolperform smart filtering or not
4
bCaseInsensitiveboolDo case insenstive matching or not
Returns:

constructed object

+
<static> _fnFilterCustom(oSettings)

Apply custom filtering functions

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnGatherData(oSettings)

Read in the data from the target table from the DOM

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnGetCellData(oSettings, iRow, iCol, sSpecific) → {*}

Get the data for a given cell from the internal cache, taking into account data mapping

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintaoData row id
3
iColintColumn index
4
sSpecificstringdata get type ('display', 'type' 'filter' 'sort')
Returns:

Cell data

+
<static> _fnGetDataMaster(oSettings)

Return an array with the full table data

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

array {array} aData Master data array

+
<static> _fnGetMaxLenString(oSettings, iCol) → {string}

Get the maximum strlen for each data column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iColintcolumn of interest
Returns:

max strlens for each column

+
<static> _fnGetObjectDataFn(mSource) → {function}

Return a function that can be used to get data from a source object, taking +into account the ability to use nested objects as a source

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mSourcestring | int | functionThe data source for the object
Returns:

Data get function

+
<static> _fnGetRowData(oSettings, iRow, sSpecific) → {array}

Get an array of data for a given row from the internal data cache

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintaoData row id
3
sSpecificstringdata get type ('type' 'filter' 'sort')
Returns:

Data array

+
<static> _fnGetTdNodes(oSettings, iIndividualRow) → {array}

Return an flat array with all TD nodes for the table, or row

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iIndividualRowintOptionalaoData index to get the nodes for - optional + if not given then the return array will contain all nodes for the table
Returns:

TD array

+
<static> _fnGetTrNodes(oSettings) → {array}

Return an array with the TR nodes for the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

TR array

+
<static> _fnGetUniqueThs(oSettings, nHeader, aLayout)

Get an array of unique th elements, one for each column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
nHeadernodeautomatically detect the layout from this node - optional
3
aLayoutarraythead/tfoot layout from _fnDetectHeader - optional
Returns:

array {node} aReturn list of unique ths

+
<static> _fnGetWidestNode(oSettings, iCol) → {string}

Get the widest node

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iColintcolumn of interest
Returns:

max strlens for each column

+
<static> _fnInitComplete(oSettings, json)

Draw the table for the first time, adding all required features

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
jsonobjectOptionalJSON from the server that completed the table, if using Ajax source + with client-side processing (optional)
+
<static> _fnInitialise(oSettings)

Draw the table for the first time, adding all required features

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnLanguageCompat(oSettings)

Language compatibility - when certain options are given, and others aren't, we +need to duplicate the values over, in order to provide backwards compatibility +with older language files.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnLoadState(oSettings, oInit)

Attempt to load a saved table state from a cookie

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
oInitobjectDataTables init object so we can override settings
+
<static> _fnLog(oSettings, iLevel, sMesg)

Log an error message

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iLevelintlog error messages, or display them to the user
3
sMesgstringerror message
+
<static> _fnMap(oRet, oSrc, sName, sMappedName)

See if a property is defined on one object, if so assign it to the other object

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oRetobjecttarget object
2
oSrcobjectsource object
3
sNamestringproperty
4
sMappedNamestringOptionalname to map too - optional, sName used if not given
+
<static> _fnNodeToColumnIndex(oSettings, iRow, n) → {int}

Take a TD element and convert it into a column data index (not the visible index)

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintThe row number the TD/TH can be found in
3
nnodeThe TD/TH element to find
Returns:

index if the node is found, -1 if not

+
<static> _fnNodeToDataIndex(oSettings, n) → {int}

Take a TR element and convert it to an index in aoData

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
nnodethe TR element to find
Returns:

index if the node is found, null if not

+
<static> _fnPageChange(oSettings, mAction) → {bool}

Alter the display settings to change the page

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
mActionstring | intPaging action to take: "first", "previous", "next" or "last" + or page number to jump to (integer)
Returns:

true page has changed, false - no change (no effect) eg 'first' on page 1

+
<static> _fnProcessingDisplay(oSettings, bShow)

Display or hide the processing indicator

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
bShowboolShow the processing indicator (true) or not (false)
+
<static> _fnReadCookie(sName) → {string}

Read an old cookie to get a cookie with an old table state

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sNamestringname of the cookie to read
Returns:

contents of the cookie - or null if no cookie with that name found

+
<static> _fnReDraw(oSettings)

Redraw the table - taking account of the various features which are enabled

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnRender(oSettings, iRow, iCol) → {*}

Call the developer defined fnRender function for a given cell (row/column) with +the required parameters and return the result.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintaoData index for the row
3
iColintaoColumns index for the column
Returns:

Return of the developer's fnRender function

+
<static> _fnReOrderIndex(oSettings)

Figure out how to reorder a display list

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
Returns:

array {int} aiReturn index list for reordering

+
<static> _fnSaveState(oSettings)

Save the state of a table in a cookie such that the page can be reloaded

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnScrollBarWidth() → {int}

Get the width of a scroll bar in this browser being used

+ +
+
Returns:

width in pixels

+
<static> _fnScrollDraw(o) → {node}

Update the various tables for resizing. It's a bit of a pig this function, but +basically the idea to: + 1. Re-create the table inside the scrolling div + 2. Take live measurements from the DOM + 3. Apply the measurements + 4. Clean up

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oobjectdataTables settings object
Returns:

Node to add to the DOM

+
<static> _fnScrollingWidthAdjust(oSettings, n)

Adjust a table's width to take account of scrolling

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
nnodetable node
+
<static> _fnServerParams(oSettings, array)

Add Ajax parameters from plugins

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
array{objects} aoData name/value pairs to send to the server
+
<static> _fnSetCellData(oSettings, iRow, iCol, val)

Set the value for a specific cell, into the internal data cache

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iRowintaoData row id
3
iColintColumn index
4
val*Value to set
+
<static> _fnSetObjectDataFn(mSource) → {function}

Return a function that can be used to set data from a source object, taking +into account the ability to use nested objects as a source

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mSourcestring | int | functionThe data source for the object
Returns:

Data set function

+
<static> _fnSettingsFromNode(nTable) → {object}

Return the settings object for a particular table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTablenodetable we are using as a dataTable
Returns:

Settings object - or null if not found

+
<static> _fnSort(oSettings, bApplyClasses)

Change the order of the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
bApplyClassesbooloptional - should we apply classes or not
+
<static> _fnSortAttachListener(oSettings, nNode, iDataIndex, fnCallback)

Attach a sort handler (click) to a node

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
nNodenodenode to attach the handler to
3
iDataIndexintcolumn sorting index
4
fnCallbackfunctionOptionalcallback function
+
<static> _fnSortingClasses(oSettings)

Set the sorting classes on the header, Note: it is safe to call this function +when bSort and bSortClasses are false

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnStringToCss(aArray1, aArray2) → {int}

Append a CSS unit (only if required) to a string

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
aArray1arrayfirst array
2
aArray2arraysecond array
Returns:

0 if match, 1 if length is different, 2 if no match

+
<static> _fnUpdateInfo(oSettings)

Update the information elements in the display

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
+
<static> _fnVisbleColumns(oS) → {int}

Get the number of visible columns

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSobjectdataTables settings object
Returns:

i the number of visible columns

+
<static> _fnVisibleToColumnIndex(oSettings, iMatch) → {int}

Covert the index of a visible column to the index in the data array (take account +of hidden columns)

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectdataTables settings object
2
iMatchintVisible column index to lookup
Returns:

i the data index

+ +
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.columns.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.columns.html new file mode 100644 index 0000000..93521db --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.columns.html @@ -0,0 +1,874 @@ + + + + + Namespace: columns - documentation + + + + + + + + + +
+ + +
+

Namespace: columns

+

Ancestry: DataTable » .defaults. » columns

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Column options that can be given to DataTables at initialisation time.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> aDataSort :array
Allows a column's sorting to take multiple columns into account when +doing a sort. For example first name / last name columns make sense to +do a multi-column sort over the two columns.
<static> asSorting :array
You can control the default sorting direction, and even alter the behaviour +of the sort handler (i.e. only allow ascending sorting etc) using this +parameter.
<static> bSearchable :boolean
Enable or disable filtering on the data in this column.
<static> bSortable :boolean
Enable or disable sorting on this column.
<static> bUseRendered :boolean
When using fnRender() for a column, you may wish to use the original data +(before rendering) for sorting and filtering (the default is to used the +rendered data that the user can see). This may be useful for dates etc. +NOTE* It is it is advisable now to use mDataProp as a function and make +use of the 'type' that it gives, allowing (potentially) different data to +be used for sorting, filtering, display and type detection.
<static> bVisible :boolean
Enable or disable the display of this column.
<static> fnCreatedCell :function
Developer definable function that is called whenever a cell is created (Ajax source, +etc) or processed for input (DOM source). This can be used as a compliment to fnRender +allowing you to modify the DOM element (add background colour for example) when the +element is available (since it is not when fnRender is called).
<static> fnRender :function
Custom display function that will be called for the display of each cell in +this column.
<static> iDataSort :int
The column index (starting from 0!) that you wish a sort to be performed +upon when this column is selected for sorting. This can be used for sorting +on hidden columns for example.
<static> mDataProp :string|int|function|null
This property can be used to read data from any JSON data source property, +including deeply nested objects / properties. mDataProp can be given in a +number of different ways which effect its behaviour: +
    +
  • integer - treated as an array index for the data source. This is the + default that DataTables uses (incrementally increased for each column).
  • +
  • string - read an object property from the data source. Note that you can + use Javascript dotted notation to read deep properties/arrays from the + data source.
  • +
  • null - the sDefaultContent option will be used for the cell (null + by default, so you will need to specify the default content you want - + typically an empty string). This can be useful on generated columns such + as edit / delete action columns.
  • +
  • function - the function given will be executed whenever DataTables + needs to set or get the data for a cell in the column. The function + takes three parameters: +
      +
    • {array|object} The data source for the row
    • +
    • {string} The type call data requested - this will be 'set' when + setting data or 'filter', 'display', 'type', 'sort' or undefined when + gathering data. Note that when undefined is given for the type + DataTables expects to get the raw data for the object back
    • +
    • {*} Data to set when the second parameter is 'set'.
    • +
    + The return value from the function is not required when 'set' is the type + of call, but otherwise the return is what will be used for the data + requested.
  • +
<static> sCellType :string
Change the cell type created for the column - either TD cells or TH cells. This +can be useful as TH cells have semantic meaning in the table body, allowing them +to act as a header for a row (you may wish to add scope='row' to the TH elements).
<static> sClass :string
Class to give to each cell in this column.
<static> sContentPadding :string
When DataTables calculates the column widths to assign to each column, +it finds the longest string in each column and then constructs a +temporary table and reads the widths from that. The problem with this +is that "mmm" is much wider then "iiii", but the latter is a longer +string - thus the calculation can go wrong (doing it properly and putting +it into an DOM object and measuring that is horribly(!) slow). Thus as +a "work around" we provide this option. It will append its value to the +text that is found to be the longest string for the column - i.e. padding. +Generally you shouldn't need this, and it is not documented on the +general DataTables.net documentation
<static> sDefaultContent :string
Allows a default value to be given for a column's data, and will be used +whenever a null data source is encountered (this can be because mDataProp +is set to null, or because the data source itself is null).
<static> sName :string
This parameter is only used in DataTables' server-side processing. It can +be exceptionally useful to know what columns are being displayed on the +client side, and to map these to database fields. When defined, the names +also allow DataTables to reorder information from the server if it comes +back in an unexpected order (i.e. if you switch your columns around on the +client-side, your server-side code does not also need updating).
<static> sSortDataType :string
Defines a data source type for the sorting which can be used to read +realtime information from the table (updating the internally cached +version) prior to sorting. This allows sorting to occur on user editable +elements such as form inputs.
<static> sTitle :string
The title of this column.
<static> sType :string
The type allows you to specify how the data for this column will be sorted. +Four types (string, numeric, date and html (which will strip HTML tags +before sorting)) are currently available. Note that only date formats +understood by Javascript's Date() object will be accepted as type date. For +example: "Mar 26, 2008 5:03 PM". May take the values: 'string', 'numeric', +'date' or 'html' (by default). Further types can be adding through +plug-ins.
<static> sWidth :string
Defining the width of the column, this parameter may take any CSS value +(3em, 20px etc). DataTables applys 'smart' widths to columns which have not +been given a specific width through this interface ensuring that the table +remains readable.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> aDataSort :array

Allows a column's sorting to take multiple columns into account when +doing a sort. For example first name / last name columns make sense to +do a multi-column sort over the two columns.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [
+         { "aDataSort": [ 0, 1 ], "aTargets": [ 0 ] },
+         { "aDataSort": [ 1, 0 ], "aTargets": [ 1 ] },
+         { "aDataSort": [ 2, 3, 4 ], "aTargets": [ 2 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [
+         { "aDataSort": [ 0, 1 ] },
+         { "aDataSort": [ 1, 0 ] },
+         { "aDataSort": [ 2, 3, 4 ] },
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> asSorting :array

You can control the default sorting direction, and even alter the behaviour +of the sort handler (i.e. only allow ascending sorting etc) using this +parameter.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [
+         { "asSorting": [ "asc" ], "aTargets": [ 1 ] },
+         { "asSorting": [ "desc", "asc", "asc" ], "aTargets": [ 2 ] },
+         { "asSorting": [ "desc" ], "aTargets": [ 3 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [
+         null,
+         { "asSorting": [ "asc" ] },
+         { "asSorting": [ "desc", "asc", "asc" ] },
+         { "asSorting": [ "desc" ] },
+         null
+       ]
+     } );
+   } );
+
+
<static> bSearchable :boolean

Enable or disable filtering on the data in this column.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "bSearchable": false, "aTargets": [ 0 ] }
+       ] } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "bSearchable": false },
+         null,
+         null,
+         null,
+         null
+       ] } );
+   } );
+
+
<static> bSortable :boolean

Enable or disable sorting on this column.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "bSortable": false, "aTargets": [ 0 ] }
+       ] } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "bSortable": false },
+         null,
+         null,
+         null,
+         null
+       ] } );
+   } );
+
+
<static> bUseRendered :boolean

When using fnRender() for a column, you may wish to use the original data +(before rendering) for sorting and filtering (the default is to used the +rendered data that the user can see). This may be useful for dates etc. +NOTE* It is it is advisable now to use mDataProp as a function and make +use of the 'type' that it gives, allowing (potentially) different data to +be used for sorting, filtering, display and type detection.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         {
+           "fnRender": function ( oObj ) {
+             return oObj.aData[0] +' '+ oObj.aData[3];
+           },
+           "bUseRendered": false,
+           "aTargets": [ 0 ]
+         }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         {
+           "fnRender": function ( oObj ) {
+             return oObj.aData[0] +' '+ oObj.aData[3];
+           },
+           "bUseRendered": false
+         },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> bVisible :boolean

Enable or disable the display of this column.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "bVisible": false, "aTargets": [ 0 ] }
+       ] } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "bVisible": false },
+         null,
+         null,
+         null,
+         null
+       ] } );
+   } );
+
+
<static> fnCreatedCell :function

Developer definable function that is called whenever a cell is created (Ajax source, +etc) or processed for input (DOM source). This can be used as a compliment to fnRender +allowing you to modify the DOM element (add background colour for example) when the +element is available (since it is not when fnRender is called).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTdelementThe TD node that has been created
2
sData*The Data for the cell
3
oDataarray | objectThe data for the whole row
4
iRowintThe row index for the aoData data store
5
iColintThe column index for aoColumns
Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ {
+         "aTargets": [3],
+         "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
+           if ( sData == "1.7" ) {
+             $(nTd).css('color', 'blue')
+           }
+         }
+       } ]
+     });
+   } );
+
+
+
<static> fnRender :function

Custom display function that will be called for the display of each cell in +this column.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oobjectObject with the following parameters:
o.iDataRowintThe row in aoData
o.iDataColumnintThe column in question
o.aDataarrayThe data for the row in question
o.oSettingsobjectThe settings object for this DataTables instance
o.mDataPropobjectThe data property used for this column
7
val*The current cell value
Returns:

The string you which to use in the display

Examples:
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         {
+           "fnRender": function ( o, val ) {
+             return o.aData[0] +' '+ o.aData[3];
+           },
+           "aTargets": [ 0 ]
+         }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "fnRender": function ( o, val ) {
+           return o.aData[0] +' '+ o.aData[3];
+         } },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
+
<static> iDataSort :int

The column index (starting from 0!) that you wish a sort to be performed +upon when this column is selected for sorting. This can be used for sorting +on hidden columns for example.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "iDataSort": 1, "aTargets": [ 0 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "iDataSort": 1 },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> mDataProp :string|int|function|null

This property can be used to read data from any JSON data source property, +including deeply nested objects / properties. mDataProp can be given in a +number of different ways which effect its behaviour: +

    +
  • integer - treated as an array index for the data source. This is the + default that DataTables uses (incrementally increased for each column).
  • +
  • string - read an object property from the data source. Note that you can + use Javascript dotted notation to read deep properties/arrays from the + data source.
  • +
  • null - the sDefaultContent option will be used for the cell (null + by default, so you will need to specify the default content you want - + typically an empty string). This can be useful on generated columns such + as edit / delete action columns.
  • +
  • function - the function given will be executed whenever DataTables + needs to set or get the data for a cell in the column. The function + takes three parameters: +
      +
    • {array|object} The data source for the row
    • +
    • {string} The type call data requested - this will be 'set' when + setting data or 'filter', 'display', 'type', 'sort' or undefined when + gathering data. Note that when undefined is given for the type + DataTables expects to get the raw data for the object back
    • +
    • {*} Data to set when the second parameter is 'set'.
    • +
    + The return value from the function is not required when 'set' is the type + of call, but otherwise the return is what will be used for the data + requested.
  • +

+ +
+
Examples
+
+
   // Read table data from objects
+   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "sAjaxSource": "sources/deep.txt",
+       "aoColumns": [
+         { "mDataProp": "engine" },
+         { "mDataProp": "browser" },
+         { "mDataProp": "platform.inner" },
+         { "mDataProp": "platform.details.0" },
+         { "mDataProp": "platform.details.1" }
+       ]
+     } );
+   } );
+
+ 
+
+ +
+
   // Using mDataProp as a function to provide different information for
+   // sorting, filtering and display. In this case, currency (price)
+   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "aoColumnDefs": [
+       {
+         "aTargets": [ 0 ],
+         "mDataProp": function ( source, type, val ) {
+           if (type === 'set') {
+             source.price = val;
+             // Store the computed dislay and filter values for efficiency
+             source.price_display = val=="" ? "" : "$"+numberFormat(val);
+             source.price_filter  = val=="" ? "" : "$"+numberFormat(val)+" "+val;
+             return;
+           }
+           else if (type === 'display') {
+             return source.price_display;
+           }
+           else if (type === 'filter') {
+             return source.price_filter;
+           }
+           // 'sort', 'type' and undefined all just use the integer
+           return source.price;
+         }
+       ]
+     } );
+   } );
+
+
<static> sCellType :string

Change the cell type created for the column - either TD cells or TH cells. This +can be useful as TH cells have semantic meaning in the table body, allowing them +to act as a header for a row (you may wish to add scope='row' to the TH elements).

+ +
+
Example
+
+
   // Make the first column use TH cells
+   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "aoColumnDefs": [
+       {
+         "aTargets": [ 0 ],
+         "sCellType": "th"
+       ]
+     } );
+   } );
+
+
<static> sClass :string

Class to give to each cell in this column.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "sClass": "my_class", "aTargets": [ 0 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "sClass": "my_class" },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> sContentPadding :string

When DataTables calculates the column widths to assign to each column, +it finds the longest string in each column and then constructs a +temporary table and reads the widths from that. The problem with this +is that "mmm" is much wider then "iiii", but the latter is a longer +string - thus the calculation can go wrong (doing it properly and putting +it into an DOM object and measuring that is horribly(!) slow). Thus as +a "work around" we provide this option. It will append its value to the +text that is found to be the longest string for the column - i.e. padding. +Generally you shouldn't need this, and it is not documented on the +general DataTables.net documentation

+ +
+
Example
+
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         null,
+         null,
+         null,
+         {
+           "sContentPadding": "mmm"
+         }
+       ]
+     } );
+   } );
+
+
<static> sDefaultContent :string

Allows a default value to be given for a column's data, and will be used +whenever a null data source is encountered (this can be because mDataProp +is set to null, or because the data source itself is null).

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         {
+           "mDataProp": null,
+           "sDefaultContent": "Edit",
+           "aTargets": [ -1 ]
+         }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         null,
+         null,
+         null,
+         {
+           "mDataProp": null,
+           "sDefaultContent": "Edit"
+         }
+       ]
+     } );
+   } );
+
+
<static> sName :string

This parameter is only used in DataTables' server-side processing. It can +be exceptionally useful to know what columns are being displayed on the +client side, and to map these to database fields. When defined, the names +also allow DataTables to reorder information from the server if it comes +back in an unexpected order (i.e. if you switch your columns around on the +client-side, your server-side code does not also need updating).

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "sName": "engine", "aTargets": [ 0 ] },
+         { "sName": "browser", "aTargets": [ 1 ] },
+         { "sName": "platform", "aTargets": [ 2 ] },
+         { "sName": "version", "aTargets": [ 3 ] },
+         { "sName": "grade", "aTargets": [ 4 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "sName": "engine" },
+         { "sName": "browser" },
+         { "sName": "platform" },
+         { "sName": "version" },
+         { "sName": "grade" }
+       ]
+     } );
+   } );
+
+
<static> sSortDataType :string

Defines a data source type for the sorting which can be used to read +realtime information from the table (updating the internally cached +version) prior to sorting. This allows sorting to occur on user editable +elements such as form inputs.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [
+         { "sSortDataType": "dom-text", "aTargets": [ 2, 3 ] },
+         { "sType": "numeric", "aTargets": [ 3 ] },
+         { "sSortDataType": "dom-select", "aTargets": [ 4 ] },
+         { "sSortDataType": "dom-checkbox", "aTargets": [ 5 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [
+         null,
+         null,
+         { "sSortDataType": "dom-text" },
+         { "sSortDataType": "dom-text", "sType": "numeric" },
+         { "sSortDataType": "dom-select" },
+         { "sSortDataType": "dom-checkbox" }
+       ]
+     } );
+   } );
+
+
<static> sTitle :string

The title of this column.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "sTitle": "My column title", "aTargets": [ 0 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "sTitle": "My column title" },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> sType :string

The type allows you to specify how the data for this column will be sorted. +Four types (string, numeric, date and html (which will strip HTML tags +before sorting)) are currently available. Note that only date formats +understood by Javascript's Date() object will be accepted as type date. For +example: "Mar 26, 2008 5:03 PM". May take the values: 'string', 'numeric', +'date' or 'html' (by default). Further types can be adding through +plug-ins.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "sType": "html", "aTargets": [ 0 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "sType": "html" },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
<static> sWidth :string

Defining the width of the column, this parameter may take any CSS value +(3em, 20px etc). DataTables applys 'smart' widths to columns which have not +been given a specific width through this interface ensuring that the table +remains readable.

+ +
+
Examples
+
+
   // Using aoColumnDefs
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumnDefs": [ 
+         { "sWidth": "20%", "aTargets": [ 0 ] }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using aoColumns
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aoColumns": [ 
+         { "sWidth": "20%" },
+         null,
+         null,
+         null,
+         null
+       ]
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.html new file mode 100644 index 0000000..e7dc20b --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.html @@ -0,0 +1,1748 @@ + + + + + Namespace: defaults - documentation + + + + + + + + + +
+ + +
+

Namespace: defaults

+

Ancestry: DataTable. » defaults

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Initialisation options that can be given to DataTables at initialisation +time.

+ +
+ +
+ + +
+ +

Summary

+ +

Namespaces

+
+
columns
Column options that can be given to DataTables at initialisation time.
oLanguage
All strings that DataTables uses in the user interface that it creates +are defined in this object, allowing you to modified them individually or +completely replace them all as required.
oSearch
This parameter allows you to have define the global filtering state at +initialisation time. As an object the "sSearch" parameter must be +defined, but all other parameters are optional. When "bRegex" is true, +the search string will be treated as a regular expression, when false +(default) it will be treated as a straight string. When "bSmart" +DataTables will use it's smart filtering methods (to word match at +any point in the data), when false this will not be done.
+

Properties

+ +
+
<static> aaData :array
An array of data to use for the table, passed in at initialisation which +will be used in preference to any data which is already in the DOM. This is +particularly useful for constructing tables purely in Javascript, for +example with a custom Ajax call.
<static> aaSorting :array
If sorting is enabled, then DataTables will perform a first pass sort on +initialisation. You can define which column(s) the sort is performed upon, +and the sorting direction, with this variable. The aaSorting array should +contain an array for each column to be sorted initially containing the +column's index and a direction string ('asc' or 'desc').
<static> aaSortingFixed :array
This parameter is basically identical to the aaSorting parameter, but +cannot be overridden by user interaction with the table. What this means +is that you could have a column (visible or hidden) which the sorting will +always be forced on first - any sorting after that (from the user) will +then be performed as required. This can be useful for grouping rows +together.
<static> aLengthMenu :array
This parameter allows you to readily specify the entries in the length drop +down menu that DataTables shows when pagination is enabled. It can be +either a 1D array of options which will be used for both the displayed +option and the value, or a 2D array which will use the array in the first +position as the value, and the array in the second position as the +displayed options (useful for language strings such as 'All').
<static> aoColumnDefs
Very similar to aoColumns, aoColumnDefs allows you to target a specific +column, multiple columns, or all columns, using the aTargets property of +each object in the array. This allows great flexibility when creating +tables, as the aoColumnDefs arrays can be of any length, targeting the +columns you specifically want. aoColumnDefs may use any of the column +options available: DataTable.defaults.columns, but it _must_ +have aTargets defined in each object in the array. Values in the aTargets +array may be: +
    +
  • a string - class name will be matched on the TH for the column
  • +
  • 0 or a positive integer - column index counting from the left
  • +
  • a negative integer - column index counting from the right
  • +
  • the string "_all" - all columns (i.e. assign a default)
  • +
<static> aoColumns
The aoColumns option in the initialisation parameter allows you to define +details about the way individual columns behave. For a full list of +column options that can be set, please see +DataTable.defaults.columns. Note that if you use aoColumns to +define your columns, you must have an entry in the array for every single +column that you have in your table (these can be null if you don't which +to specify any options).
<static> aoSearchCols :array
Basically the same as oSearch, this parameter defines the individual column +filtering state at initialisation time. The array must be of the same size +as the number of columns, and each element be an object with the parameters +"sSearch" and "bEscapeRegex" (the latter is optional). 'null' is also +accepted and the default will be used.
<static> asStripeClasses :array
An array of CSS classes that should be applied to displayed rows. This +array may be of any length, and DataTables will apply each class +sequentially, looping when required.
<static> bAutoWidth :boolean
Enable or disable automatic column width calculation. This can be disabled +as an optimisation (it takes some time to calculate the widths) if the +tables widths are passed in using aoColumns.
<static> bDeferRender :boolean
Deferred rendering can provide DataTables with a huge speed boost when you +are using an Ajax or JS data source for the table. This option, when set to +true, will cause DataTables to defer the creation of the table elements for +each row until they are needed for a draw - saving a significant amount of +time.
<static> bDestroy :boolean
Replace a DataTable which matches the given selector and replace it with +one which has the properties of the new initialisation object passed. If no +table matches the selector, then the new DataTable will be constructed as +per normal.
<static> bFilter :boolean
Enable or disable filtering of data. Filtering in DataTables is "smart" in +that it allows the end user to input multiple words (space separated) and +will match a row containing those words, even if not in the order that was +specified (this allow matching across multiple columns). Note that if you +wish to use filtering in DataTables this must remain 'true' - to remove the +default filtering input box and retain filtering abilities, please use +DataTable.defaults.sDom.
<static> bInfo :boolean
Enable or disable the table information display. This shows information +about the data that is currently visible on the page, including information +about filtered data if that action is being performed.
<static> bJQueryUI :boolean
Enable jQuery UI ThemeRoller support (required as ThemeRoller requires some +slightly different and additional mark-up from what DataTables has +traditionally used).
<static> bLengthChange :boolean
Allows the end user to select the size of a formatted page from a select +menu (sizes are 10, 25, 50 and 100). Requires pagination (bPaginate).
<static> bPaginate :boolean
Enable or disable pagination.
<static> bProcessing :boolean
Enable or disable the display of a 'processing' indicator when the table is +being processed (e.g. a sort). This is particularly useful for tables with +large amounts of data where it can take a noticeable amount of time to sort +the entries.
<static> bRetrieve :boolean
Retrieve the DataTables object for the given selector. Note that if the +table has already been initialised, this parameter will cause DataTables +to simply return the object that has already been set up - it will not take +account of any changes you might have made to the initialisation object +passed to DataTables (setting this parameter to true is an acknowledgement +that you understand this). bDestroy can be used to reinitialise a table if +you need.
<static> bScrollAutoCss :boolean
Indicate if DataTables should be allowed to set the padding / margin +etc for the scrolling header elements or not. Typically you will want +this.
<static> bScrollCollapse :boolean
When vertical (y) scrolling is enabled, DataTables will force the height of +the table's viewport to the given height at all times (useful for layout). +However, this can look odd when filtering data down to a small data set, +and the footer is left "floating" further down. This parameter (when +enabled) will cause DataTables to collapse the table's viewport down when +the result set will fit within the given Y height.
<static> bScrollInfinite :boolean
Enable infinite scrolling for DataTables (to be used in combination with +sScrollY). Infinite scrolling means that DataTables will continually load +data as a user scrolls through a table, which is very useful for large +dataset. This cannot be used with pagination, which is automatically +disabled. Note - the Scroller extra for DataTables is recommended in +in preference to this option.
<static> bServerSide :boolean
Configure DataTables to use server-side processing. Note that the +sAjaxSource parameter must also be given in order to give DataTables a +source to obtain the required data for each draw.
<static> bSort :boolean
Enable or disable sorting of columns. Sorting of individual columns can be +disabled by the "bSortable" option for each column.
<static> bSortCellsTop :boolean
Allows control over whether DataTables should use the top (true) unique +cell that is found for a single column, or the bottom (false - default). +This is useful when using complex headers.
<static> bSortClasses :boolean
Enable or disable the addition of the classes 'sorting_1', 'sorting_2' and +'sorting_3' to the columns which are currently being sorted on. This is +presented as a feature switch as it can increase processing time (while +classes are removed and added) so for large data sets you might want to +turn this off.
<static> bStateSave :boolean
Enable or disable state saving. When enabled a cookie will be used to save +table display information such as pagination information, display length, +filtering and sorting. As such when the end user reloads the page the +display display will match what thy had previously set up.
<static> fnCookieCallback :function
Customise the cookie and / or the parameters being stored when using +DataTables with state saving enabled. This function is called whenever +the cookie is modified, and it expects a fully formed cookie string to be +returned. Note that the data object passed in is a Javascript object which +must be converted to a string (JSON.stringify for example).
<static> fnCreatedRow :function
This function is called when a TR element is created (and all TD child +elements have been inserted), or registered if using a DOM source, allowing +manipulation of the TR element (adding classes etc).
<static> fnDrawCallback :function
This function is called on every 'draw' event, and allows you to +dynamically modify any aspect you want about the created DOM.
<static> fnFooterCallback :function
Identical to fnHeaderCallback() but for the table footer this function +allows you to modify the table footer on every 'draw' even.
<static> fnFormatNumber :function
When rendering large numbers in the information element for the table +(i.e. "Showing 1 to 10 of 57 entries") DataTables will render large numbers +to have a comma separator for the 'thousands' units (e.g. 1 million is +rendered as "1,000,000") to help readability for the end user. This +function will override the default method DataTables uses.
<static> fnHeaderCallback :function
This function is called on every 'draw' event, and allows you to +dynamically modify the header row. This can be used to calculate and +display useful information about the table.
<static> fnInfoCallback :function
The information element can be used to convey information about the current +state of the table. Although the internationalisation options presented by +DataTables are quite capable of dealing with most customisations, there may +be times where you wish to customise the string further. This callback +allows you to do exactly that.
<static> fnInitComplete :function
Called when the table has been initialised. Normally DataTables will +initialise sequentially and there will be no need for this function, +however, this does not hold true when using external language information +since that is obtained using an async XHR call.
<static> fnPreDrawCallback :function
Called at the very start of each table draw and can be used to cancel the +draw by returning false, any other return (including undefined) results in +the full draw occurring).
<static> fnRowCallback :function
This function allows you to 'post process' each row after it have been +generated for each table draw, but before it is rendered on screen. This +function might be used for setting the row class name etc.
<static> fnServerData :function
This parameter allows you to override the default function which obtains +the data from the server ($.getJSON) so something more suitable for your +application. For example you could use POST data, or pull information from +a Gears or AIR database.
<static> fnServerParams :function
It is often useful to send extra data to the server when making an Ajax +request - for example custom filtering information, and this callback +function makes it trivial to send extra information to the server. The +passed in parameter is the data set that has been constructed by +DataTables, and you can add to this or modify it as you require.
<static> fnStateLoad :function
Load the table state. With this function you can define from where, and how, the +state of a table is loaded. By default DataTables will load from its state saving +cookie, but you might wish to use local storage (HTML5) or a server-side database.
<static> fnStateLoaded :function
Callback that is called when the state has been loaded from the state saving method +and the DataTables settings object has been modified as a result of the loaded state.
<static> fnStateLoadParams :function
Callback which allows modification of the saved state prior to loading that state. +This callback is called when the table is loading state from the stored data, but +prior to the settings object being modified by the saved state. Note that for +plug-in authors, you should use the 'stateLoadParams' event to load parameters for +a plug-in.
<static> fnStateSave :function
Save the table state. This function allows you to define where and how the state +information for the table is stored - by default it will use a cookie, but you +might want to use local storage (HTML5) or a server-side database.
<static> fnStateSaveParams :function
Callback which allows modification of the state to be saved. Called when the table +has changed state a new state save is required. This method allows modification of +the state saving object prior to actually doing the save, including addition or +other state properties or modification. Note that for plug-in authors, you should +use the 'stateSaveParams' event to save parameters for a plug-in.
<static> iCookieDuration :int
Duration of the cookie which is used for storing session information. This +value is given in seconds.
<static> iDeferLoading :int|array
When enabled DataTables will not make a request to the server for the first +page draw - rather it will use the data already on the page (no sorting etc +will be applied to it), thus saving on an XHR at load time. iDeferLoading +is used to indicate that deferred loading is required, but it is also used +to tell DataTables how many records there are in the full table (allowing +the information element and pagination to be displayed correctly). In the case +where a filtering is applied to the table on initial load, this can be +indicated by giving the parameter as an array, where the first element is +the number of records available after filtering and the second element is the +number of records without filtering (allowing the table information element +to be shown correctly).
<static> iDisplayLength :int
Number of rows to display on a single page when using pagination. If +feature enabled (bLengthChange) then the end user will be able to override +this to a custom setting using a pop-up menu.
<static> iDisplayStart :int
Define the starting point for data display when using DataTables with +pagination. Note that this parameter is the number of records, rather than +the page number, so if you have 10 records per page and want to start on +the third page, it should be "20".
<static> iScrollLoadGap :int
The scroll gap is the amount of scrolling that is left to go before +DataTables will load the next 'page' of data automatically. You typically +want a gap which is big enough that the scrolling will be smooth for the +user, while not so large that it will load more data than need.
<static> iTabIndex :int
By default DataTables allows keyboard navigation of the table (sorting, paging, +and filtering) by adding a tabindex attribute to the required elements. This +allows you to tab through the controls and press the enter key to activate them. +The tabindex is default 0, meaning that the tab follows the flow of the document. +You can overrule this using this parameter if you wish. Use a value of -1 to +disable built-in keyboard navigation.
<static> sAjaxDataProp :string
By default DataTables will look for the property 'aaData' when obtaining +data from an Ajax source or for server-side processing - this parameter +allows that property to be changed. You can use Javascript dotted object +notation to get a data source for multiple levels of nesting.
<static> sAjaxSource :string
You can instruct DataTables to load data from an external source using this +parameter (use aData if you want to pass data in you already have). Simply +provide a url a JSON object can be obtained from. This object must include +the parameter 'aaData' which is the data source for the table.
<static> sCookiePrefix :string
This parameter can be used to override the default prefix that DataTables +assigns to a cookie when state saving is enabled.
<static> sDom :string
This initialisation variable allows you to specify exactly where in the +DOM you want DataTables to inject the various controls it adds to the page +(for example you might want the pagination controls at the top of the +table). DIV elements (with or without a custom class) can also be added to +aid styling. The follow syntax is used: +
    +
  • The following options are allowed: +
      +
    • 'l' - Length changing
    • 'f' - Filtering input +
    • 't' - The table!
    • +
    • 'i' - Information
    • +
    • 'p' - Pagination
    • +
    • 'r' - pRocessing
    • +
    +
  • +
  • The following constants are allowed: +
      +
    • 'H' - jQueryUI theme "header" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')
    • +
    • 'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')
    • +
    +
  • +
  • The following syntax is expected: +
      +
    • '<' and '>' - div elements
    • +
    • '<"class" and '>' - div with a class
    • +
    • '<"#id" and '>' - div with an ID
    • +
    +
  • +
  • Examples: +
      +
    • '<"wrapper"flipt>'
    • +
    • '<lf<t>ip>'
    • +
    +
  • +
<static> sPaginationType :string
DataTables features two different built-in pagination interaction methods +('two_button' or 'full_numbers') which present different page controls to +the end user. Further methods can be added using the API (see below).
<static> sScrollX :string
Enable horizontal scrolling. When a table is too wide to fit into a certain +layout, or you have a large number of columns in the table, you can enable +x-scrolling to show the table in a viewport, which can be scrolled. This +property can be any CSS unit, or a number (in which case it will be treated +as a pixel measurement).
<static> sScrollXInner :string
This property can be used to force a DataTable to use more width than it +might otherwise do when x-scrolling is enabled. For example if you have a +table which requires to be well spaced, this parameter is useful for +"over-sizing" the table, and thus forcing scrolling. This property can by +any CSS unit, or a number (in which case it will be treated as a pixel +measurement).
<static> sScrollY :string
Enable vertical scrolling. Vertical scrolling will constrain the DataTable +to the given height, and enable scrolling for any data which overflows the +current viewport. This can be used as an alternative to paging to display +a lot of data in a small area (although paging and scrolling can both be +enabled at the same time). This property can be any CSS unit, or a number +(in which case it will be treated as a pixel measurement).
<static> sServerMethod :string
Set the HTTP method that is used to make the Ajax call for server-side +processing or Ajax sourced data.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> aaData :array

An array of data to use for the table, passed in at initialisation which +will be used in preference to any data which is already in the DOM. This is +particularly useful for constructing tables purely in Javascript, for +example with a custom Ajax call.

+ +
+
Examples
+
+
   // Using a 2D array data source
+   $(document).ready( function () {
+     $('#example').dataTable( {
+       "aaData": [
+         ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],
+         ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'],
+       ],
+       "aoColumns": [
+         { "sTitle": "Engine" },
+         { "sTitle": "Browser" },
+         { "sTitle": "Platform" },
+         { "sTitle": "Version" },
+         { "sTitle": "Grade" }
+       ]
+     } );
+   } );
+   
+ 
+
+ +
+
   // Using an array of objects as a data source (mDataProp)
+   $(document).ready( function () {
+     $('#example').dataTable( {
+       "aaData": [
+         {
+           "engine":   "Trident",
+           "browser":  "Internet Explorer 4.0",
+           "platform": "Win 95+",
+           "version":  4,
+           "grade":    "X"
+         },
+         {
+           "engine":   "Trident",
+           "browser":  "Internet Explorer 5.0",
+           "platform": "Win 95+",
+           "version":  5,
+           "grade":    "C"
+         }
+       ],
+       "aoColumns": [
+         { "sTitle": "Engine",   "mDataProp": "engine" },
+         { "sTitle": "Browser",  "mDataProp": "browser" },
+         { "sTitle": "Platform", "mDataProp": "platform" },
+         { "sTitle": "Version",  "mDataProp": "version" },
+         { "sTitle": "Grade",    "mDataProp": "grade" }
+       ]
+     } );
+   } );
+
+
<static> aaSorting :array

If sorting is enabled, then DataTables will perform a first pass sort on +initialisation. You can define which column(s) the sort is performed upon, +and the sorting direction, with this variable. The aaSorting array should +contain an array for each column to be sorted initially containing the +column's index and a direction string ('asc' or 'desc').

+ +
+
Example
+
+
   // Sort by 3rd column first, and then 4th column
+   $(document).ready( function() {
+     $('#example').dataTable( {
+       "aaSorting": [[2,'asc'], [3,'desc']]
+     } );
+   } );
+   
+   // No initial sorting
+   $(document).ready( function() {
+     $('#example').dataTable( {
+       "aaSorting": []
+     } );
+   } );
+
+
<static> aaSortingFixed :array

This parameter is basically identical to the aaSorting parameter, but +cannot be overridden by user interaction with the table. What this means +is that you could have a column (visible or hidden) which the sorting will +always be forced on first - any sorting after that (from the user) will +then be performed as required. This can be useful for grouping rows +together.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "aaSortingFixed": [[0,'asc']]
+     } );
+   } )
+
+
<static> aLengthMenu :array

This parameter allows you to readily specify the entries in the length drop +down menu that DataTables shows when pagination is enabled. It can be +either a 1D array of options which will be used for both the displayed +option and the value, or a 2D array which will use the array in the first +position as the value, and the array in the second position as the +displayed options (useful for language strings such as 'All').

+ +
+
Examples
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
+     } );
+   } );
+ 
+ 
+
+ +
+
   // Setting the default display length as well as length menu
+   // This is likely to be wanted if you remove the '10' option which
+   // is the iDisplayLength default.
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "iDisplayLength": 25,
+       "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]]
+     } );
+   } );
+
+
<static> aoColumnDefs

Very similar to aoColumns, aoColumnDefs allows you to target a specific +column, multiple columns, or all columns, using the aTargets property of +each object in the array. This allows great flexibility when creating +tables, as the aoColumnDefs arrays can be of any length, targeting the +columns you specifically want. aoColumnDefs may use any of the column +options available: DataTable.defaults.columns, but it _must_ +have aTargets defined in each object in the array. Values in the aTargets +array may be: +

    +
  • a string - class name will be matched on the TH for the column
  • +
  • 0 or a positive integer - column index counting from the left
  • +
  • a negative integer - column index counting from the right
  • +
  • the string "_all" - all columns (i.e. assign a default)
  • +

+ +
+
<static> aoColumns

The aoColumns option in the initialisation parameter allows you to define +details about the way individual columns behave. For a full list of +column options that can be set, please see +DataTable.defaults.columns. Note that if you use aoColumns to +define your columns, you must have an entry in the array for every single +column that you have in your table (these can be null if you don't which +to specify any options).

+ +
+
<static> aoSearchCols :array

Basically the same as oSearch, this parameter defines the individual column +filtering state at initialisation time. The array must be of the same size +as the number of columns, and each element be an object with the parameters +"sSearch" and "bEscapeRegex" (the latter is optional). 'null' is also +accepted and the default will be used.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "aoSearchCols": [
+         null,
+         { "sSearch": "My filter" },
+         null,
+         { "sSearch": "^[0-9]", "bEscapeRegex": false }
+       ]
+     } );
+   } )
+
+
<static> asStripeClasses :array

An array of CSS classes that should be applied to displayed rows. This +array may be of any length, and DataTables will apply each class +sequentially, looping when required.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "asStripeClasses": [ 'strip1', 'strip2', 'strip3' ]
+     } );
+   } )
+
+
<static> bAutoWidth :boolean

Enable or disable automatic column width calculation. This can be disabled +as an optimisation (it takes some time to calculate the widths) if the +tables widths are passed in using aoColumns.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bAutoWidth": false
+     } );
+   } );
+
+
<static> bDeferRender :boolean

Deferred rendering can provide DataTables with a huge speed boost when you +are using an Ajax or JS data source for the table. This option, when set to +true, will cause DataTables to defer the creation of the table elements for +each row until they are needed for a draw - saving a significant amount of +time.

+ +
+
Example
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "sAjaxSource": "sources/arrays.txt",
+       "bDeferRender": true
+     } );
+   } );
+
+
<static> bDestroy :boolean

Replace a DataTable which matches the given selector and replace it with +one which has the properties of the new initialisation object passed. If no +table matches the selector, then the new DataTable will be constructed as +per normal.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sScrollY": "200px",
+       "bPaginate": false
+     } );
+     
+     // Some time later....
+     $('#example').dataTable( {
+       "bFilter": false,
+       "bDestroy": true
+     } );
+   } );
+
+
<static> bFilter :boolean

Enable or disable filtering of data. Filtering in DataTables is "smart" in +that it allows the end user to input multiple words (space separated) and +will match a row containing those words, even if not in the order that was +specified (this allow matching across multiple columns). Note that if you +wish to use filtering in DataTables this must remain 'true' - to remove the +default filtering input box and retain filtering abilities, please use +DataTable.defaults.sDom.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bFilter": false
+     } );
+   } );
+
+
<static> bInfo :boolean

Enable or disable the table information display. This shows information +about the data that is currently visible on the page, including information +about filtered data if that action is being performed.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bInfo": false
+     } );
+   } );
+
+
<static> bJQueryUI :boolean

Enable jQuery UI ThemeRoller support (required as ThemeRoller requires some +slightly different and additional mark-up from what DataTables has +traditionally used).

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "bJQueryUI": true
+     } );
+   } );
+
+
<static> bLengthChange :boolean

Allows the end user to select the size of a formatted page from a select +menu (sizes are 10, 25, 50 and 100). Requires pagination (bPaginate).

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bLengthChange": false
+     } );
+   } );
+
+
<static> bPaginate :boolean

Enable or disable pagination.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bPaginate": false
+     } );
+   } );
+
+
<static> bProcessing :boolean

Enable or disable the display of a 'processing' indicator when the table is +being processed (e.g. a sort). This is particularly useful for tables with +large amounts of data where it can take a noticeable amount of time to sort +the entries.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bProcessing": true
+     } );
+   } );
+
+
<static> bRetrieve :boolean

Retrieve the DataTables object for the given selector. Note that if the +table has already been initialised, this parameter will cause DataTables +to simply return the object that has already been set up - it will not take +account of any changes you might have made to the initialisation object +passed to DataTables (setting this parameter to true is an acknowledgement +that you understand this). bDestroy can be used to reinitialise a table if +you need.

+ +
+
Example
+
+
   $(document).ready(function() {
+     initTable();
+     tableActions();
+   } );
+   
+   function initTable ()
+   {
+     return $('#example').dataTable( {
+       "sScrollY": "200px",
+       "bPaginate": false,
+       "bRetrieve": true
+     } );
+   }
+   
+   function tableActions ()
+   {
+     var oTable = initTable();
+     // perform API operations with oTable 
+   }
+
+
<static> bScrollAutoCss :boolean

Indicate if DataTables should be allowed to set the padding / margin +etc for the scrolling header elements or not. Typically you will want +this.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bScrollAutoCss": false,
+       "sScrollY": "200px"
+     } );
+   } );
+
+
<static> bScrollCollapse :boolean

When vertical (y) scrolling is enabled, DataTables will force the height of +the table's viewport to the given height at all times (useful for layout). +However, this can look odd when filtering data down to a small data set, +and the footer is left "floating" further down. This parameter (when +enabled) will cause DataTables to collapse the table's viewport down when +the result set will fit within the given Y height.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sScrollY": "200",
+       "bScrollCollapse": true
+     } );
+   } );
+
+
<static> bScrollInfinite :boolean

Enable infinite scrolling for DataTables (to be used in combination with +sScrollY). Infinite scrolling means that DataTables will continually load +data as a user scrolls through a table, which is very useful for large +dataset. This cannot be used with pagination, which is automatically +disabled. Note - the Scroller extra for DataTables is recommended in +in preference to this option.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bScrollInfinite": true,
+       "bScrollCollapse": true,
+       "sScrollY": "200px"
+     } );
+   } );
+
+
<static> bServerSide :boolean

Configure DataTables to use server-side processing. Note that the +sAjaxSource parameter must also be given in order to give DataTables a +source to obtain the required data for each draw.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bServerSide": true,
+       "sAjaxSource": "xhr.php"
+     } );
+   } );
+
+
<static> bSort :boolean

Enable or disable sorting of columns. Sorting of individual columns can be +disabled by the "bSortable" option for each column.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bSort": false
+     } );
+   } );
+
+
<static> bSortCellsTop :boolean

Allows control over whether DataTables should use the top (true) unique +cell that is found for a single column, or the bottom (false - default). +This is useful when using complex headers.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bSortCellsTop": true
+     } );
+   } );
+
+
<static> bSortClasses :boolean

Enable or disable the addition of the classes 'sorting_1', 'sorting_2' and +'sorting_3' to the columns which are currently being sorted on. This is +presented as a feature switch as it can increase processing time (while +classes are removed and added) so for large data sets you might want to +turn this off.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bSortClasses": false
+     } );
+   } );
+
+
<static> bStateSave :boolean

Enable or disable state saving. When enabled a cookie will be used to save +table display information such as pagination information, display length, +filtering and sorting. As such when the end user reloads the page the +display display will match what thy had previously set up.

+ +
+
Example
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "bStateSave": true
+     } );
+   } );
+
+
<static> fnCookieCallback :function

Customise the cookie and / or the parameters being stored when using +DataTables with state saving enabled. This function is called whenever +the cookie is modified, and it expects a fully formed cookie string to be +returned. Note that the data object passed in is a Javascript object which +must be converted to a string (JSON.stringify for example).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sNamestringName of the cookie defined by DataTables
2
oDataobjectData to be stored in the cookie
3
sExpiresstringCookie expires string
4
sPathstringPath of the cookie to set
Returns:

Cookie formatted string (which should be encoded by + using encodeURIComponent())

Example:
+
+
   $(document).ready( function () {
+     $('#example').dataTable( {
+       "fnCookieCallback": function (sName, oData, sExpires, sPath) {
+         // Customise oData or sName or whatever else here
+         return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
+       }
+     } );
+   } );
+
+
+
<static> fnCreatedRow :function

This function is called when a TR element is created (and all TD child +elements have been inserted), or registered if using a DOM source, allowing +manipulation of the TR element (adding classes etc).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nRownode"TR" element for the current row
2
aDataarrayRaw data array for this row
3
iDataIndexintThe index of this row in aoData
Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "fnCreatedRow": function( nRow, aData, iDataIndex ) {
+         // Bold the grade for all 'A' grade browsers
+         if ( aData[4] == "A" )
+         {
+           $('td:eq(4)', nRow).html( 'A' );
+         }
+       }
+     } );
+   } );
+
+
+
<static> fnDrawCallback :function

This function is called on every 'draw' event, and allows you to +dynamically modify any aspect you want about the created DOM.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
Example:
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "fnDrawCallback": function( oSettings ) {
+         alert( 'DataTables has redrawn the table' );
+       }
+     } );
+   } );
+
+
+
<static> fnFooterCallback :function

Identical to fnHeaderCallback() but for the table footer this function +allows you to modify the table footer on every 'draw' even.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nFootnode"TR" element for the footer
2
aDataarrayFull table data (as derived from the original HTML)
3
iStartintIndex for the current display starting point in the + display array
4
iEndintIndex for the current display ending point in the + display array
5
aiDisplayarray intIndex array to translate the visual position + to the full data array
Example:
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {
+         nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;
+       }
+     } );
+   } )
+
+
+
<static> fnFormatNumber :function

When rendering large numbers in the information element for the table +(i.e. "Showing 1 to 10 of 57 entries") DataTables will render large numbers +to have a comma separator for the 'thousands' units (e.g. 1 million is +rendered as "1,000,000") to help readability for the end user. This +function will override the default method DataTables uses.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
iInintnumber to be formatted
Returns:

formatted string for DataTables to show the number

Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "fnFormatNumber": function ( iIn ) {
+         if ( iIn < 1000 ) {
+           return iIn;
+         } else {
+           var 
+             s=(iIn+""), 
+             a=s.split(""), out="", 
+             iLen=s.length;
+           
+           for ( var i=0 ; i<iLen ; i++ ) {
+             if ( i%3 === 0 && i !== 0 ) {
+               out = "'"+out;
+             }
+             out = a[iLen-i-1]+out;
+           }
+         }
+         return out;
+       };
+     } );
+   } );
+
+
+
<static> fnHeaderCallback :function

This function is called on every 'draw' event, and allows you to +dynamically modify the header row. This can be used to calculate and +display useful information about the table.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nHeadnode"TR" element for the header
2
aDataarrayFull table data (as derived from the original HTML)
3
iStartintIndex for the current display starting point in the + display array
4
iEndintIndex for the current display ending point in the + display array
5
aiDisplayarray intIndex array to translate the visual position + to the full data array
Example:
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "fnHeaderCallback": function( nHead, aData, iStart, iEnd, aiDisplay ) {
+         nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+       }
+     } );
+   } )
+
+
+
<static> fnInfoCallback :function

The information element can be used to convey information about the current +state of the table. Although the internationalisation options presented by +DataTables are quite capable of dealing with most customisations, there may +be times where you wish to customise the string further. This callback +allows you to do exactly that.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
iStartintStarting position in data for the draw
3
iEndintEnd position in data for the draw
4
iMaxintTotal number of rows in the table (regardless of + filtering)
5
iTotalintTotal number of rows in the data set, after filtering
6
sPrestringThe string that DataTables has formatted using it's + own rules
Returns:

The string to be displayed in the information element.

Example:
+
+
   $('#example').dataTable( {
+     "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
+       return iStart +" to "+ iEnd;
+     }
+   } );
+
+
+
<static> fnInitComplete :function

Called when the table has been initialised. Normally DataTables will +initialise sequentially and there will be no need for this function, +however, this does not hold true when using external language information +since that is obtained using an async XHR call.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
jsonobjectThe JSON object request from the server - only + present if client-side Ajax sourced data is used
Example:
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "fnInitComplete": function(oSettings, json) {
+         alert( 'DataTables has finished its initialisation.' );
+       }
+     } );
+   } )
+
+
+
<static> fnPreDrawCallback :function

Called at the very start of each table draw and can be used to cancel the +draw by returning false, any other return (including undefined) results in +the full draw occurring).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
Returns:

False will cancel the draw, anything else (including no + return) will allow it to complete.

Example:
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "fnPreDrawCallback": function( oSettings ) {
+         if ( $('#test').val() == 1 ) {
+           return false;
+         }
+       }
+     } );
+   } );
+
+
+
<static> fnRowCallback :function

This function allows you to 'post process' each row after it have been +generated for each table draw, but before it is rendered on screen. This +function might be used for setting the row class name etc.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nRownode"TR" element for the current row
2
aDataarrayRaw data array for this row
3
iDisplayIndexintThe display index for the current table draw
4
iDisplayIndexFullintThe index of the data in the full list of + rows (after filtering)
Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
+         // Bold the grade for all 'A' grade browsers
+         if ( aData[4] == "A" )
+         {
+           $('td:eq(4)', nRow).html( 'A' );
+         }
+       }
+     } );
+   } );
+
+
+
<static> fnServerData :function

This parameter allows you to override the default function which obtains +the data from the server ($.getJSON) so something more suitable for your +application. For example you could use POST data, or pull information from +a Gears or AIR database.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sSourcestringHTTP source to obtain the data from (sAjaxSource)
2
aoDataarrayA key/value pair object containing the data to send + to the server
3
fnCallbackfunctionto be called on completion of the data get + process that will draw the data on the page.
4
oSettingsobjectDataTables settings object
Example:
+
+
   // POST data to server
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bProcessing": true,
+       "bServerSide": true,
+       "sAjaxSource": "xhr.php",
+       "fnServerData": function ( sSource, aoData, fnCallback ) {
+         $.ajax( {
+           "dataType": 'json', 
+           "type": "POST", 
+           "url": sSource, 
+           "data": aoData, 
+           "success": fnCallback
+         } );
+       }
+     } );
+   } );
+
+
+
<static> fnServerParams :function

It is often useful to send extra data to the server when making an Ajax +request - for example custom filtering information, and this callback +function makes it trivial to send extra information to the server. The +passed in parameter is the data set that has been constructed by +DataTables, and you can add to this or modify it as you require.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
aoDataarrayData array (array of objects which are name/value + pairs) that has been constructed by DataTables and will be sent to the + server. In the case of Ajax sourced data with server-side processing + this will be an empty array, for server-side processing there will be a + significant number of parameters!
Returns:

Ensure that you modify the aoData array passed in, + as this is passed by reference.

Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bProcessing": true,
+       "bServerSide": true,
+       "sAjaxSource": "scripts/server_processing.php",
+       "fnServerParams": function ( aoData ) {
+         aoData.push( { "name": "more_data", "value": "my_value" } );
+       }
+     } );
+   } );
+
+
+
<static> fnStateLoad :function

Load the table state. With this function you can define from where, and how, the +state of a table is loaded. By default DataTables will load from its state saving +cookie, but you might wish to use local storage (HTML5) or a server-side database.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
Returns:

The DataTables state object to be loaded

Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateLoad": function (oSettings, oData) {
+         var o;
+         
+         // Send an Ajax request to the server to get the data. Note that
+         // this is a synchronous request.
+         $.ajax( {
+           "url": "/state_load",
+           "async": false,
+           "dataType": "json",
+           "success": function (json) {
+             o = json;
+           }
+         } );
+         
+         return o;
+       }
+     } );
+   } );
+
+
+
<static> fnStateLoaded :function

Callback that is called when the state has been loaded from the state saving method +and the DataTables settings object has been modified as a result of the loaded state.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
oDataobjectThe state object that was loaded
Example:
+
+
   // Show an alert with the filtering value that was saved
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateLoaded": function (oSettings, oData) {
+         alert( 'Saved filter was: '+oData.oSearch.sSearch );
+     } );
+   } );
+
+
+
<static> fnStateLoadParams :function

Callback which allows modification of the saved state prior to loading that state. +This callback is called when the table is loading state from the stored data, but +prior to the settings object being modified by the saved state. Note that for +plug-in authors, you should use the 'stateLoadParams' event to load parameters for +a plug-in.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
oDataobjectThe state object that is to be loaded
Examples:
+
+
   // Remove a saved filter, so filtering is never loaded
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateLoadParams": function (oSettings, oData) {
+         oData.oSearch.sSearch = "";
+     } );
+   } );
+
+ 
+
+ +
+
   // Disallow state loading by returning false
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateLoadParams": function (oSettings, oData) {
+         return false;
+     } );
+   } );
+
+
+
<static> fnStateSave :function

Save the table state. This function allows you to define where and how the state +information for the table is stored - by default it will use a cookie, but you +might want to use local storage (HTML5) or a server-side database.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
oDataobjectThe state object to be saved
Example:
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateSave": function (oSettings, oData) {
+         // Send an Ajax request to the server with the state object
+         $.ajax( {
+           "url": "/state_save",
+           "data": oData,
+           "dataType": "json",
+           "method": "POST"
+           "success": function () {}
+         } );
+       }
+     } );
+   } );
+
+
+
<static> fnStateSaveParams :function

Callback which allows modification of the state to be saved. Called when the table +has changed state a new state save is required. This method allows modification of +the state saving object prior to actually doing the save, including addition or +other state properties or modification. Note that for plug-in authors, you should +use the 'stateSaveParams' event to save parameters for a plug-in.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oSettingsobjectDataTables settings object
2
oDataobjectThe state object to be saved
Example:
+
+
   // Remove a saved filter, so filtering is never saved
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bStateSave": true,
+       "fnStateSaveParams": function (oSettings, oData) {
+         oData.oSearch.sSearch = "";
+     } );
+   } );
+
+
+
<static> iCookieDuration :int

Duration of the cookie which is used for storing session information. This +value is given in seconds.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "iCookieDuration": 60*60*24 // 1 day
+     } );
+   } )
+
+
<static> iDeferLoading :int|array

When enabled DataTables will not make a request to the server for the first +page draw - rather it will use the data already on the page (no sorting etc +will be applied to it), thus saving on an XHR at load time. iDeferLoading +is used to indicate that deferred loading is required, but it is also used +to tell DataTables how many records there are in the full table (allowing +the information element and pagination to be displayed correctly). In the case +where a filtering is applied to the table on initial load, this can be +indicated by giving the parameter as an array, where the first element is +the number of records available after filtering and the second element is the +number of records without filtering (allowing the table information element +to be shown correctly).

+ +
+
Examples
+
+
   // 57 records available in the table, no filtering applied
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bServerSide": true,
+       "sAjaxSource": "scripts/server_processing.php",
+       "iDeferLoading": 57
+     } );
+   } );
+
+ 
+
+ +
+
   // 57 records after filtering, 100 without filtering (an initial filter applied)
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bServerSide": true,
+       "sAjaxSource": "scripts/server_processing.php",
+       "iDeferLoading": [ 57, 100 ],
+       "oSearch": {
+         "sSearch": "my_filter"
+       }
+     } );
+   } );
+
+
<static> iDisplayLength :int

Number of rows to display on a single page when using pagination. If +feature enabled (bLengthChange) then the end user will be able to override +this to a custom setting using a pop-up menu.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "iDisplayLength": 50
+     } );
+   } )
+
+
<static> iDisplayStart :int

Define the starting point for data display when using DataTables with +pagination. Note that this parameter is the number of records, rather than +the page number, so if you have 10 records per page and want to start on +the third page, it should be "20".

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "iDisplayStart": 20
+     } );
+   } )
+
+
<static> iScrollLoadGap :int

The scroll gap is the amount of scrolling that is left to go before +DataTables will load the next 'page' of data automatically. You typically +want a gap which is big enough that the scrolling will be smooth for the +user, while not so large that it will load more data than need.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bScrollInfinite": true,
+       "bScrollCollapse": true,
+       "sScrollY": "200px",
+       "iScrollLoadGap": 50
+     } );
+   } );
+
+
<static> iTabIndex :int

By default DataTables allows keyboard navigation of the table (sorting, paging, +and filtering) by adding a tabindex attribute to the required elements. This +allows you to tab through the controls and press the enter key to activate them. +The tabindex is default 0, meaning that the tab follows the flow of the document. +You can overrule this using this parameter if you wish. Use a value of -1 to +disable built-in keyboard navigation.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "iTabIndex": 1
+     } );
+   } );
+
+
<static> sAjaxDataProp :string

By default DataTables will look for the property 'aaData' when obtaining +data from an Ajax source or for server-side processing - this parameter +allows that property to be changed. You can use Javascript dotted object +notation to get a data source for multiple levels of nesting.

+ +
+
Examples
+
+
   // Get data from { "data": [...] }
+   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "sAjaxSource": "sources/data.txt",
+       "sAjaxDataProp": "data"
+     } );
+   } );
+   
+ 
+
+ +
+
   // Get data from { "data": { "inner": [...] } }
+   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "sAjaxSource": "sources/data.txt",
+       "sAjaxDataProp": "data.inner"
+     } );
+   } );
+
+
<static> sAjaxSource :string

You can instruct DataTables to load data from an external source using this +parameter (use aData if you want to pass data in you already have). Simply +provide a url a JSON object can be obtained from. This object must include +the parameter 'aaData' which is the data source for the table.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "sAjaxSource": "http://www.sprymedia.co.uk/dataTables/json.php"
+     } );
+   } )
+
+
<static> sCookiePrefix :string

This parameter can be used to override the default prefix that DataTables +assigns to a cookie when state saving is enabled.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sCookiePrefix": "my_datatable_",
+     } );
+   } );
+
+
<static> sDom :string

This initialisation variable allows you to specify exactly where in the +DOM you want DataTables to inject the various controls it adds to the page +(for example you might want the pagination controls at the top of the +table). DIV elements (with or without a custom class) can also be added to +aid styling. The follow syntax is used: +

    +
  • The following options are allowed: +
      +
    • 'l' - Length changing
    • 'f' - Filtering input +
    • 't' - The table!
    • +
    • 'i' - Information
    • +
    • 'p' - Pagination
    • +
    • 'r' - pRocessing
    • +
    +
  • +
  • The following constants are allowed: +
      +
    • 'H' - jQueryUI theme "header" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')
    • +
    • 'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')
    • +
    +
  • +
  • The following syntax is expected: +
      +
    • '<' and '>' - div elements
    • +
    • '<"class" and '>' - div with a class
    • +
    • '<"#id" and '>' - div with an ID
    • +
    +
  • +
  • Examples: +
      +
    • '<"wrapper"flipt>'
    • +
    • '<lf<t>ip>'
    • +
    +
  • +

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sDom": '<"top"i>rt<"bottom"flp><"clear"&lgt;'
+     } );
+   } );
+
+
<static> sPaginationType :string

DataTables features two different built-in pagination interaction methods +('two_button' or 'full_numbers') which present different page controls to +the end user. Further methods can be added using the API (see below).

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "sPaginationType": "full_numbers"
+     } );
+   } )
+
+
<static> sScrollX :string

Enable horizontal scrolling. When a table is too wide to fit into a certain +layout, or you have a large number of columns in the table, you can enable +x-scrolling to show the table in a viewport, which can be scrolled. This +property can be any CSS unit, or a number (in which case it will be treated +as a pixel measurement).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sScrollX": "100%",
+       "bScrollCollapse": true
+     } );
+   } );
+
+
<static> sScrollXInner :string

This property can be used to force a DataTable to use more width than it +might otherwise do when x-scrolling is enabled. For example if you have a +table which requires to be well spaced, this parameter is useful for +"over-sizing" the table, and thus forcing scrolling. This property can by +any CSS unit, or a number (in which case it will be treated as a pixel +measurement).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sScrollX": "100%",
+       "sScrollXInner": "110%"
+     } );
+   } );
+
+
<static> sScrollY :string

Enable vertical scrolling. Vertical scrolling will constrain the DataTable +to the given height, and enable scrolling for any data which overflows the +current viewport. This can be used as an alternative to paging to display +a lot of data in a small area (although paging and scrolling can both be +enabled at the same time). This property can be any CSS unit, or a number +(in which case it will be treated as a pixel measurement).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "sScrollY": "200px",
+       "bPaginate": false
+     } );
+   } );
+
+
<static> sServerMethod :string

Set the HTTP method that is used to make the Ajax call for server-side +processing or Ajax sourced data.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "bServerSide": true,
+       "sAjaxSource": "scripts/post.php",
+       "sServerMethod": "POST"
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.html new file mode 100644 index 0000000..814abaf --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.html @@ -0,0 +1,362 @@ + + + + + Namespace: oLanguage - documentation + + + + + + + + + +
+ + +
+

Namespace: oLanguage

+

Ancestry: DataTable » .defaults. » oLanguage

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

All strings that DataTables uses in the user interface that it creates +are defined in this object, allowing you to modified them individually or +completely replace them all as required.

+ +
+ +
+ + +
+ +

Summary

+ +

Namespaces

+
+
oAria
Strings that are used for WAI-ARIA labels and controls only (these are not +actually visible on the page, but will be read by screenreaders, and thus +must be internationalised as well).
oPaginate
Pagination string used by DataTables for the two built-in pagination +control types ("two_button" and "full_numbers")
+

Properties

+ +
+
<static> sEmptyTable :string
This string is shown in preference to sZeroRecords when the table is +empty of data (regardless of filtering). Note that this is an optional +parameter - if it is not given, the value of sZeroRecords will be used +instead (either the default or given value).
<static> sInfo :string
This string gives information to the end user about the information that +is current on display on the page. The _START_, _END_ and _TOTAL_ +variables are all dynamically replaced as the table display updates, and +can be freely moved or removed as the language requirements change.
<static> sInfoEmpty :string
Display information string for when the table is empty. Typically the +format of this string should match sInfo.
<static> sInfoFiltered :string
When a user filters the information in a table, this string is appended +to the information (sInfo) to give an idea of how strong the filtering +is. The variable _MAX_ is dynamically updated.
<static> sInfoPostFix :string
If can be useful to append extra information to the info string at times, +and this variable does exactly that. This information will be appended to +the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are +being used) at all times.
<static> sInfoThousands :string
DataTables has a build in number formatter (fnFormatNumber) which is used +to format large numbers that are used in the table information. By +default a comma is used, but this can be trivially changed to any +character you wish with this parameter.
<static> sLengthMenu :string
Detail the action that will be taken when the drop down menu for the +pagination length option is changed. The '_MENU_' variable is replaced +with a default select list of 10, 25, 50 and 100, and can be replaced +with a custom select box if required.
<static> sLoadingRecords :string
When using Ajax sourced data and during the first draw when DataTables is +gathering the data, this message is shown in an empty row in the table to +indicate to the end user the the data is being loaded. Note that this +parameter is not used when loading data by server-side processing, just +Ajax sourced data with client-side processing.
<static> sProcessing :string
Text which is displayed when the table is processing a user action +(usually a sort command or similar).
<static> sSearch :string
Details the actions that will be taken when the user types into the +filtering input text box. The variable "_INPUT_", if used in the string, +is replaced with the HTML text box for the filtering input allowing +control over where it appears in the string. If "_INPUT_" is not given +then the input box is appended to the string automatically.
<static> sUrl :string
All of the language information can be stored in a file on the +server-side, which DataTables will look up if this parameter is passed. +It must store the URL of the language file, which is in a JSON format, +and the object has the same properties as the oLanguage object in the +initialiser object (i.e. the above parameters). Please refer to one of +the example language files to see how this works in action.
<static> sZeroRecords :string
Text shown inside the table records when the is no information to be +displayed after filtering. sEmptyTable is shown when there is simply no +information in the table at all (regardless of filtering).
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> sEmptyTable :string

This string is shown in preference to sZeroRecords when the table is +empty of data (regardless of filtering). Note that this is an optional +parameter - if it is not given, the value of sZeroRecords will be used +instead (either the default or given value).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sEmptyTable": "No data available in table"
+       }
+     } );
+   } );
+
+
<static> sInfo :string

This string gives information to the end user about the information that +is current on display on the page. The _START_, _END_ and _TOTAL_ +variables are all dynamically replaced as the table display updates, and +can be freely moved or removed as the language requirements change.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfo": "Got a total of _TOTAL_ entries to show (_START_ to _END_)"
+       }
+     } );
+   } );
+
+
<static> sInfoEmpty :string

Display information string for when the table is empty. Typically the +format of this string should match sInfo.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoEmpty": "No entries to show"
+       }
+     } );
+   } );
+
+
<static> sInfoFiltered :string

When a user filters the information in a table, this string is appended +to the information (sInfo) to give an idea of how strong the filtering +is. The variable _MAX_ is dynamically updated.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoFiltered": " - filtering from _MAX_ records"
+       }
+     } );
+   } );
+
+
<static> sInfoPostFix :string

If can be useful to append extra information to the info string at times, +and this variable does exactly that. This information will be appended to +the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are +being used) at all times.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoPostFix": "All records shown are derived from real information."
+       }
+     } );
+   } );
+
+
<static> sInfoThousands :string

DataTables has a build in number formatter (fnFormatNumber) which is used +to format large numbers that are used in the table information. By +default a comma is used, but this can be trivially changed to any +character you wish with this parameter.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoThousands": "'"
+       }
+     } );
+   } );
+
+
<static> sLengthMenu :string

Detail the action that will be taken when the drop down menu for the +pagination length option is changed. The '_MENU_' variable is replaced +with a default select list of 10, 25, 50 and 100, and can be replaced +with a custom select box if required.

+ +
+
Examples
+
+
   // Language change only
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLengthMenu": "Display _MENU_ records"
+       }
+     } );
+   } );
+   
+ 
+
+ +
+
   // Language and options change
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLengthMenu": 'Display  records'
+       }
+     } );
+   } );
+
+
<static> sLoadingRecords :string

When using Ajax sourced data and during the first draw when DataTables is +gathering the data, this message is shown in an empty row in the table to +indicate to the end user the the data is being loaded. Note that this +parameter is not used when loading data by server-side processing, just +Ajax sourced data with client-side processing.

+ +
+
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLoadingRecords": "Please wait - loading..."
+       }
+     } );
+   } );
+
+
<static> sProcessing :string

Text which is displayed when the table is processing a user action +(usually a sort command or similar).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sProcessing": "DataTables is currently busy"
+       }
+     } );
+   } );
+
+
<static> sSearch :string

Details the actions that will be taken when the user types into the +filtering input text box. The variable "_INPUT_", if used in the string, +is replaced with the HTML text box for the filtering input allowing +control over where it appears in the string. If "_INPUT_" is not given +then the input box is appended to the string automatically.

+ +
+
Examples
+
+
   // Input text box will be appended at the end automatically
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sSearch": "Filter records:"
+       }
+     } );
+   } );
+   
+ 
+
+ +
+
   // Specify where the filter should appear
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sSearch": "Apply filter _INPUT_ to table"
+       }
+     } );
+   } );
+
+
<static> sUrl :string

All of the language information can be stored in a file on the +server-side, which DataTables will look up if this parameter is passed. +It must store the URL of the language file, which is in a JSON format, +and the object has the same properties as the oLanguage object in the +initialiser object (i.e. the above parameters). Please refer to one of +the example language files to see how this works in action.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sUrl": "http://www.sprymedia.co.uk/dataTables/lang.txt"
+       }
+     } );
+   } );
+
+
<static> sZeroRecords :string

Text shown inside the table records when the is no information to be +displayed after filtering. sEmptyTable is shown when there is simply no +information in the table at all (regardless of filtering).

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sZeroRecords": "No records to display"
+       }
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oAria.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oAria.html new file mode 100644 index 0000000..7b79718 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oAria.html @@ -0,0 +1,135 @@ + + + + + Namespace: oAria - documentation + + + + + + + + + +
+ + +
+

Namespace: oAria

+

Ancestry: DataTable » .defaults » .oLanguage. » oAria

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Strings that are used for WAI-ARIA labels and controls only (these are not +actually visible on the page, but will be read by screenreaders, and thus +must be internationalised as well).

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> sSortAscending :string
ARIA label that is added to the table headers when the column may be +sorted ascending by activing the column (click or return when focused). +Note that the column header is prefixed to this string.
<static> sSortDescending :string
ARIA label that is added to the table headers when the column may be +sorted descending by activing the column (click or return when focused). +Note that the column header is prefixed to this string.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> sSortAscending :string

ARIA label that is added to the table headers when the column may be +sorted ascending by activing the column (click or return when focused). +Note that the column header is prefixed to this string.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oAria": {
+           "sSortAscending": " - click/return to sort ascending"
+         }
+       }
+     } );
+   } );
+
+
<static> sSortDescending :string

ARIA label that is added to the table headers when the column may be +sorted descending by activing the column (click or return when focused). +Note that the column header is prefixed to this string.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oAria": {
+           "sSortDescending": " - click/return to sort descending"
+         }
+       }
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oPaginate.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oPaginate.html new file mode 100644 index 0000000..e20881c --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oLanguage.oPaginate.html @@ -0,0 +1,164 @@ + + + + + Namespace: oPaginate - documentation + + + + + + + + + +
+ + +
+

Namespace: oPaginate

+

Ancestry: DataTable » .defaults » .oLanguage. » oPaginate

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Pagination string used by DataTables for the two built-in pagination +control types ("two_button" and "full_numbers")

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> sFirst :string
Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the first page.
<static> sLast :string
Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the last page.
<static> sNext :string
Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the next page.
<static> sPrevious :string
Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the previous page.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> sFirst :string

Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the first page.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oPaginate": {
+           "sFirst": "First page"
+         }
+       }
+     } );
+   } );
+
+
<static> sLast :string

Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the last page.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oPaginate": {
+           "sLast": "Last page"
+         }
+       }
+     } );
+   } );
+
+
<static> sNext :string

Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the next page.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oPaginate": {
+           "sNext": "Next page"
+         }
+       }
+     } );
+   } );
+
+
<static> sPrevious :string

Text to use when using the 'full_numbers' type of pagination for the +button to take the user to the previous page.

+ +
+
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "oPaginate": {
+           "sPrevious": "Previous page"
+         }
+       }
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oSearch.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oSearch.html new file mode 100644 index 0000000..ce463f4 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.defaults.oSearch.html @@ -0,0 +1,129 @@ + + + + + Namespace: oSearch - documentation + + + + + + + + + +
+ + +
+

Namespace: oSearch

+

Ancestry: DataTable » .defaults. » oSearch

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

This parameter allows you to have define the global filtering state at +initialisation time. As an object the "sSearch" parameter must be +defined, but all other parameters are optional. When "bRegex" is true, +the search string will be treated as a regular expression, when false +(default) it will be treated as a straight string. When "bSmart" +DataTables will use it's smart filtering methods (to word match at +any point in the data), when false this will not be done.

+ +
+

Example

+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "oSearch": {"sSearch": "Initial search"}
+     } );
+   } )
+
+

Extends

+ + +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> bCaseInsensitive :boolean
Flag to indicate if the filtering should be case insensitive or not
<static> bRegex :boolean
Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.
<static> bSmart :boolean
Flag to indicate if DataTables is to use its smart filtering or not.
<static> sSearch :string
Applied search term
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> bCaseInsensitive :boolean

Flag to indicate if the filtering should be case insensitive or not

+ +
+
Extended from:
<static> bRegex :boolean

Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.

+ +
+
Extended from:
<static> bSmart :boolean

Flag to indicate if DataTables is to use its smart filtering or not.

+ +
+
Extended from:
<static> sSearch :string

Applied search term

+ +
+
Extended from:
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.ext.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.ext.html new file mode 100644 index 0000000..405a9f5 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.ext.html @@ -0,0 +1,764 @@ + + + + + Namespace: ext - documentation + + + + + + + + + +
+ + +
+

Namespace: ext

+

Ancestry: DataTable. » ext

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Extension object for DataTables that is used to provide all extension options.

Note that the DataTable.ext object is available through +jQuery.fn.dataTable.ext where it may be accessed and manipulated. It is +also aliased to jQuery.fn.dataTableExt for historic reasons.

+ +
+

Extends

+ + +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> afnFiltering :array
Plug-in filtering functions - this method of filtering is complimentary to the default +type based filtering, and a lot more comprehensive as it allows you complete control +over the filtering logic. Each element in this array is a function (parameters +described below) that is called for every row in the table, and your logic decides if +it should be included in the filtered data set or not. +
    +
  • + Function input parameters: +
      +
    • {object} DataTables settings object: see DataTable.models.oSettings.
    • +
    • {array|object} Data for the row to be processed (same as the original format + that was passed in as the data source, or an array from a DOM data source
    • +
    • {int} Row index in aoData (DataTable.models.oSettings.aoData), which can + be useful to retrieve the TR element if you need DOM interaction.
    • +
    +
  • +
  • + Function return: +
      +
    • {boolean} Include the row in the filtered result set (true) or not (false)
    • +
    + +
<static> afnSortData :array
Plug-in sorting functions - this method of sorting is complimentary to the default type +based sorting that DataTables does automatically, allowing much greater control over the +the data that is being used to sort a column. This is useful if you want to do sorting +based on live data (for example the contents of an 'input' element) rather than just the +static string that DataTables knows of. The way these plug-ins work is that you create +an array of the values you wish to be sorted for the column in question and then return +that array. Which pre-sorting function is run here depends on the sSortDataType parameter +that is used for the column (if any). This is the corollary of ofnSearch for sort +data. +
    +
  • + Function input parameters: + +
  • +
  • + Function return: +
      +
    • {array} Data for the column to be sorted upon
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.
<static> aoFeatures :array
Feature plug-ins - This is an array of objects which describe the feature plug-ins that are +available to DataTables. These feature plug-ins are accessible through the sDom initialisation +option. As such, each feature plug-in must describe a function that is used to initialise +itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name +of the feature (sFeature). Thus the objects attached to this method must provide: +
    +
  • {function} fnInit Initialisation of the plug-in +
      +
    • + Function input parameters: + +
    • +
    • + Function return: +
        +
      • {node|null} The element which contains your feature. Note that the return + may also be void if your plug-in does not require to inject any DOM elements + into DataTables control (sDom) - for example this might be useful when + developing a plug-in which allows table control via keyboard entry.
      • +
      + +
    +
  • +
  • {character} cFeature Character that will be matched in sDom - case sensitive
  • +
  • {string} sFeature Feature name
  • +
<static> aTypes :array
Type detection plug-in functions - DataTables utilises types to define how sorting and +filtering behave, and types can be either be defined by the developer (sType for the +column) or they can be automatically detected by the methods in this array. The functions +defined in the array are quite simple, taking a single parameter (the data to analyse) +and returning the type if it is a known type, or null otherwise. +
    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be analysed
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Data type detected, or null if unknown (and thus pass it + on to the other type detection functions.
    • +
    + +
<static> fnVersionCheck :function
Provide a common method for plug-ins to check the version of DataTables being used, +in order to ensure compatibility.
<static> iApiIndex :int
Index for what 'this' index API functions should use
<static> oApi :object
Container for all private functions in DataTables so they can be exposed externally
<static> ofnSearch :object
Pre-processing of filtering data plug-ins - When you assign the sType for a column +(or have it automatically detected for you by DataTables or a type detection plug-in), +you will typically be using this for custom sorting, but it can also be used to provide +custom filtering by allowing you to pre-processing the data and returning the data in +the format that should be filtered upon. This is done by adding functions this object +with a parameter name which matches the sType for that target column. This is the +corollary of afnSortData for filtering data. +
    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be prepared for filtering
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Formatted string that will be used for the filtering.
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.
<static> oJUIClasses :object
Storage for the various classes that DataTables uses - jQuery UI suitable
<static> oPagination :object
Pagination plug-in methods - The style and controls of the pagination can significantly +impact on how the end user interacts with the data in your table, and DataTables allows +the addition of pagination controls by extending this object, which can then be enabled +through the sPaginationType initialisation parameter. Each pagination type that +is added is an object (the property name of which is what sPaginationType refers +to) that has two properties, both methods that are used by DataTables to update the +control's state. +
    +
  • + fnInit - Initialisation of the paging controls. Called only during initialisation + of the table. It is expected that this function will add the required DOM elements + to the page for the paging controls to work. The element pointer + 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging + controls (note that this is a 2D array to allow for multiple instances of each + DataTables DOM element). It is suggested that you add the controls to this element + as children +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {node} Container into which the pagination controls must be inserted
      • +
      • {function} Draw callback function - whenever the controls cause a page + change, this method must be called to redraw the table.
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
  • + fnInit - This function is called whenever the paging status of the table changes and is + typically used to update classes and/or text of the paging controls to reflex the new + status. +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {function} Draw callback function - in case you need to redraw the table again + or attach new event listeners
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
<static> oSort :object
Sorting plug-in methods - Sorting in DataTables is based on the detected type of the +data column (you can add your own type detection functions, or override automatic +detection using sType). With this specific type given to the column, DataTables will +apply the required sort from the functions in the object. Each sort type must provide +two mandatory methods, one each for ascending and descending sorting, and can optionally +provide a pre-formatting method that will help speed up sorting by allowing DataTables +to pre-format the sort data only once (rather than every time the actual sort functions +are run). The two sorting functions are typical Javascript sort methods: +
    +
  • + Function input parameters: +
      +
    • {*} Data to compare to the second parameter
    • +
    • {*} Data to compare to the first parameter
    • +
    +
  • +
  • + Function return: +
      +
    • {int} Sorting match: <0 if first parameter should be sorted lower than + the second parameter, ===0 if the two parameters are equal and >0 if + the first parameter should be sorted height than the second parameter.
    • +
    + +
<static> oStdClasses :object
Storage for the various classes that DataTables uses
<static> sErrMode :string
How should DataTables report an error. Can take the value 'alert' or 'throw'
<static> sVersion :string
Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> afnFiltering :array

Plug-in filtering functions - this method of filtering is complimentary to the default +type based filtering, and a lot more comprehensive as it allows you complete control +over the filtering logic. Each element in this array is a function (parameters +described below) that is called for every row in the table, and your logic decides if +it should be included in the filtered data set or not. +

    +
  • + Function input parameters: +
      +
    • {object} DataTables settings object: see DataTable.models.oSettings.
    • +
    • {array|object} Data for the row to be processed (same as the original format + that was passed in as the data source, or an array from a DOM data source
    • +
    • {int} Row index in aoData (DataTable.models.oSettings.aoData), which can + be useful to retrieve the TR element if you need DOM interaction.
    • +
    +
  • +
  • + Function return: +
      +
    • {boolean} Include the row in the filtered result set (true) or not (false)
    • +
    + +

+ +
+
Extended from:
Example
+
+
   // The following example shows custom filtering being applied to the fourth column (i.e.
+   // the aData[3] index) based on two input values from the end-user, matching the data in 
+   // a certain range.
+   $.fn.dataTableExt.afnFiltering.push(
+     function( oSettings, aData, iDataIndex ) {
+       var iMin = document.getElementById('min').value * 1;
+       var iMax = document.getElementById('max').value * 1;
+       var iVersion = aData[3] == "-" ? 0 : aData[3]*1;
+       if ( iMin == "" && iMax == "" ) {
+         return true;
+       }
+       else if ( iMin == "" && iVersion < iMax ) {
+         return true;
+       }
+       else if ( iMin < iVersion && "" == iMax ) {
+         return true;
+       }
+       else if ( iMin < iVersion && iVersion < iMax ) {
+         return true;
+       }
+       return false;
+     }
+   );
+
+
<static> afnSortData :array

Plug-in sorting functions - this method of sorting is complimentary to the default type +based sorting that DataTables does automatically, allowing much greater control over the +the data that is being used to sort a column. This is useful if you want to do sorting +based on live data (for example the contents of an 'input' element) rather than just the +static string that DataTables knows of. The way these plug-ins work is that you create +an array of the values you wish to be sorted for the column in question and then return +that array. Which pre-sorting function is run here depends on the sSortDataType parameter +that is used for the column (if any). This is the corollary of ofnSearch for sort +data. +

    +
  • + Function input parameters: + +
  • +
  • + Function return: +
      +
    • {array} Data for the column to be sorted upon
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.

+
Deprecated
Yes
+
+
Extended from:
Example
+
+
   // Updating the cached sorting information with user entered values in HTML input elements
+   jQuery.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn )
+   {
+     var aData = [];
+     $( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+       aData.push( this.value );
+     } );
+     return aData;
+   }
+
+
<static> aoFeatures :array

Feature plug-ins - This is an array of objects which describe the feature plug-ins that are +available to DataTables. These feature plug-ins are accessible through the sDom initialisation +option. As such, each feature plug-in must describe a function that is used to initialise +itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name +of the feature (sFeature). Thus the objects attached to this method must provide: +

    +
  • {function} fnInit Initialisation of the plug-in +
      +
    • + Function input parameters: + +
    • +
    • + Function return: +
        +
      • {node|null} The element which contains your feature. Note that the return + may also be void if your plug-in does not require to inject any DOM elements + into DataTables control (sDom) - for example this might be useful when + developing a plug-in which allows table control via keyboard entry.
      • +
      + +
    +
  • +
  • {character} cFeature Character that will be matched in sDom - case sensitive
  • +
  • {string} sFeature Feature name
  • +

+ +
+
Extended from:
Example
+
+
   // How TableTools initialises itself.
+   $.fn.dataTableExt.aoFeatures.push( {
+     "fnInit": function( oSettings ) {
+       return new TableTools( { "oDTSettings": oSettings } );
+     },
+     "cFeature": "T",
+     "sFeature": "TableTools"
+   } );
+
+
<static> aTypes :array

Type detection plug-in functions - DataTables utilises types to define how sorting and +filtering behave, and types can be either be defined by the developer (sType for the +column) or they can be automatically detected by the methods in this array. The functions +defined in the array are quite simple, taking a single parameter (the data to analyse) +and returning the type if it is a known type, or null otherwise. +

    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be analysed
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Data type detected, or null if unknown (and thus pass it + on to the other type detection functions.
    • +
    + +

+ +
+
Extended from:
Example
+
+
   // Currency type detection plug-in:
+   jQuery.fn.dataTableExt.aTypes.push(
+     function ( sData ) {
+       var sValidChars = "0123456789.-";
+       var Char;
+       
+       // Check the numeric part
+       for ( i=1 ; i
+    
+
<static> fnVersionCheck :function

Provide a common method for plug-ins to check the version of DataTables being used, +in order to ensure compatibility.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sVersionstringVersion string to check for, in the format "X.Y.Z". Note + that the formats "X" and "X.Y" are also acceptable.
Returns:

true if this version of DataTables is greater or equal to the + required version, or false if this version of DataTales is not suitable

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     alert( oTable.fnVersionCheck( '1.9.0' ) );
+   } );
+
+
+
<static> iApiIndex :int

Index for what 'this' index API functions should use

+ +
+
Extended from:
<static> oApi :object

Container for all private functions in DataTables so they can be exposed externally

+ +
+
Extended from:
<static> ofnSearch :object

Pre-processing of filtering data plug-ins - When you assign the sType for a column +(or have it automatically detected for you by DataTables or a type detection plug-in), +you will typically be using this for custom sorting, but it can also be used to provide +custom filtering by allowing you to pre-processing the data and returning the data in +the format that should be filtered upon. This is done by adding functions this object +with a parameter name which matches the sType for that target column. This is the +corollary of afnSortData for filtering data. +

    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be prepared for filtering
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Formatted string that will be used for the filtering.
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.

+
Deprecated
Yes
+
+
Extended from:
Example
+
+
   $.fn.dataTableExt.ofnSearch['title-numeric'] = function ( sData ) {
+     return sData.replace(/\n/g," ").replace( /<.*?>/g, "" );
+   }
+
+
<static> oJUIClasses :object

Storage for the various classes that DataTables uses - jQuery UI suitable

+ +
+
Extended from:
<static> oPagination :object

Pagination plug-in methods - The style and controls of the pagination can significantly +impact on how the end user interacts with the data in your table, and DataTables allows +the addition of pagination controls by extending this object, which can then be enabled +through the sPaginationType initialisation parameter. Each pagination type that +is added is an object (the property name of which is what sPaginationType refers +to) that has two properties, both methods that are used by DataTables to update the +control's state. +

    +
  • + fnInit - Initialisation of the paging controls. Called only during initialisation + of the table. It is expected that this function will add the required DOM elements + to the page for the paging controls to work. The element pointer + 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging + controls (note that this is a 2D array to allow for multiple instances of each + DataTables DOM element). It is suggested that you add the controls to this element + as children +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {node} Container into which the pagination controls must be inserted
      • +
      • {function} Draw callback function - whenever the controls cause a page + change, this method must be called to redraw the table.
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
  • + fnInit - This function is called whenever the paging status of the table changes and is + typically used to update classes and/or text of the paging controls to reflex the new + status. +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {function} Draw callback function - in case you need to redraw the table again + or attach new event listeners
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +

+ +
+
Extended from:
Example
+
+
   $.fn.dataTableExt.oPagination.four_button = {
+     "fnInit": function ( oSettings, nPaging, fnCallbackDraw ) {
+       nFirst = document.createElement( 'span' );
+       nPrevious = document.createElement( 'span' );
+       nNext = document.createElement( 'span' );
+       nLast = document.createElement( 'span' );
+       
+       nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
+       nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) );
+       nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) );
+       nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );
+       
+       nFirst.className = "paginate_button first";
+       nPrevious.className = "paginate_button previous";
+       nNext.className="paginate_button next";
+       nLast.className = "paginate_button last";
+       
+       nPaging.appendChild( nFirst );
+       nPaging.appendChild( nPrevious );
+       nPaging.appendChild( nNext );
+       nPaging.appendChild( nLast );
+       
+       $(nFirst).click( function () {
+         oSettings.oApi._fnPageChange( oSettings, "first" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nPrevious).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "previous" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nNext).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "next" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nLast).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "last" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nFirst).bind( 'selectstart', function () { return false; } );
+       $(nPrevious).bind( 'selectstart', function () { return false; } );
+       $(nNext).bind( 'selectstart', function () { return false; } );
+       $(nLast).bind( 'selectstart', function () { return false; } );
+     },
+     
+     "fnUpdate": function ( oSettings, fnCallbackDraw ) {
+       if ( !oSettings.aanFeatures.p ) {
+         return;
+       }
+       
+       // Loop over each instance of the pager
+       var an = oSettings.aanFeatures.p;
+       for ( var i=0, iLen=an.length ; i
+    
+
<static> oSort :object

Sorting plug-in methods - Sorting in DataTables is based on the detected type of the +data column (you can add your own type detection functions, or override automatic +detection using sType). With this specific type given to the column, DataTables will +apply the required sort from the functions in the object. Each sort type must provide +two mandatory methods, one each for ascending and descending sorting, and can optionally +provide a pre-formatting method that will help speed up sorting by allowing DataTables +to pre-format the sort data only once (rather than every time the actual sort functions +are run). The two sorting functions are typical Javascript sort methods: +

    +
  • + Function input parameters: +
      +
    • {*} Data to compare to the second parameter
    • +
    • {*} Data to compare to the first parameter
    • +
    +
  • +
  • + Function return: +
      +
    • {int} Sorting match: <0 if first parameter should be sorted lower than + the second parameter, ===0 if the two parameters are equal and >0 if + the first parameter should be sorted height than the second parameter.
    • +
    + +

+ +
+
Extended from:
Examples
+
+
   // Case-sensitive string sorting, with no pre-formatting method
+   $.extend( $.fn.dataTableExt.oSort, {
+     "string-case-asc": function(x,y) {
+       return ((x < y) ? -1 : ((x > y) ? 1 : 0));
+     },
+     "string-case-desc": function(x,y) {
+       return ((x < y) ? 1 : ((x > y) ? -1 : 0));
+     }
+   } );
+
+ 
+
+ +
+
   // Case-insensitive string sorting, with pre-formatting
+   $.extend( $.fn.dataTableExt.oSort, {
+     "string-pre": function(x) {
+       return x.toLowerCase();
+     },
+     "string-asc": function(x,y) {
+       return ((x < y) ? -1 : ((x > y) ? 1 : 0));
+     },
+     "string-desc": function(x,y) {
+       return ((x < y) ? 1 : ((x > y) ? -1 : 0));
+     }
+   } );
+
+
<static> oStdClasses :object

Storage for the various classes that DataTables uses

+ +
+
Extended from:
<static> sErrMode :string

How should DataTables report an error. Can take the value 'alert' or 'throw'

+ +
+
Extended from:
<static> sVersion :string

Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional

+ +
+
Extended from:
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.html new file mode 100644 index 0000000..eb12882 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.html @@ -0,0 +1,1362 @@ + + + + + Class: DataTable - documentation + + + + + + + + + +
+ + +
+

Class: DataTable

+ +
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +
new DataTable(oInit)

DataTables is a plug-in for the jQuery Javascript library. It is a +highly flexible tool, based upon the foundations of progressive +enhancement, which will add advanced interaction controls to any +HTML table. For a full list of features please refer to +DataTables.net.

Note that the DataTable object is not a global variable but is +aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which +it may be accessed.

Constructor

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oInitobjectOptional{}Configuration object for DataTables. Options + are defined by DataTable.defaults
Examples:
+
+
   // Basic initialisation
+   $(document).ready( function {
+     $('#example').dataTable();
+   } );
+ 
+ 
+
+ +
+
   // Initialisation with configuration options - in this case, disable
+   // pagination and sorting.
+   $(document).ready( function {
+     $('#example').dataTable( {
+       "bPaginate": false,
+       "bSort": false 
+     } );
+   } );
+
+
+

Requires

+
    +
  • module:jQuery
  • +
+ +
+ + +
+ +

Summary

+ +

Namespaces

+
+
defaults
Initialisation options that can be given to DataTables at initialisation +time.
ext
Extension object for DataTables that is used to provide all extension options.

Note that the DataTable.ext object is available through +jQuery.fn.dataTable.ext where it may be accessed and manipulated. It is +also aliased to jQuery.fn.dataTableExt for historic reasons.
models
Object models container, for the various models that DataTables has available +to it. These models define the objects that are used to hold the active state +and configuration of the table.
oApi
Reference to internal functions for use by plug-in developers. Note that these +methods are references to internal functions and are considered to be private. +If you use these methods, be aware that they are liable to change between versions +(check the upgrade notes).
+

Properties

+ +
+
<static> version :string
Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional
+

Methods

+ +
+
$(sSelector, oOpts) → {object}
Perform a jQuery selector action on the table's TR elements (from the tbody) and +return the resulting jQuery object.
_(sSelector, oOpts) → {array}
Almost identical to $ in operation, but in this case returns the data for the matched +rows - as such, the jQuery selector used should match TR row nodes or TD/TH cell nodes +rather than any decendents, so the data can be obtained for the row/cell. If matching +rows are found, the data returned is the original data array/object that was used to +create the row (or a generated array if from a DOM source). + +This method is often useful incombination with $ where both functions are given the +same parameters and the array indexes will match identically.
fnAddData(mData, bRedraw) → {array}
Add a single new row or multiple rows of data to the table. Please note +that this is suitable for client-side processing only - if you are using +server-side processing (i.e. "bServerSide": true), then to add data, you +must add it to the data source, i.e. the server-side, through an Ajax call.
fnAdjustColumnSizing(bRedraw)
This function will make DataTables recalculate the column sizes, based on the data +contained in the table and the sizes applied to the columns (in the DOM, CSS or +through the sWidth parameter). This can be useful when the width of the table's +parent element changes (for example a window resize).
fnClearTable(bRedraw)
Quickly and simply clear a table
fnClose(nTr) → {int}
The exact opposite of 'opening' a row, this function will close any rows which +are currently 'open'.
fnDeleteRow(mTarget, fnCallBack, bRedraw) → {array}
Remove a row for the table
fnDestroy(bRemove)
Restore the table to it's original state in the DOM by removing all of DataTables +enhancements, alterations to the DOM structure of the table and event listeners.
fnDraw(bComplete)
Redraw the table
fnFilter(sInput, iColumn, bRegex, bSmart, bShowGlobal, bCaseInsensitive)
Filter the input based on data
fnGetData(mRow, iCol) → {array|object|string}
Get the data for the whole table, an individual row or an individual cell based on the +provided parameters.
fnGetNodes(iRow) → {array|node}
Get an array of the TR nodes that are used in the table's body. Note that you will +typically want to use the '$' API method in preference to this as it is more +flexible.
fnGetPosition(nNode) → {int}
Get the array indexes of a particular cell from it's DOM element +and column index including hidden columns
<static> fnIsDataTable(nTable) → {boolean}
Check if a TABLE node is a DataTable table already or not.
fnIsOpen(nTr) → {boolean}
Check to see if a row is 'open' or not.
fnOpen(nTr, mHtml, sClass) → {node}
This function will place a new row directly after a row which is currently +on display on the page, with the HTML contents that is passed into the +function. This can be used, for example, to ask for confirmation that a +particular record should be deleted.
fnPageChange(mAction, bRedraw)
Change the pagination - provides the internal logic for pagination in a simple API +function. With this function you can have a DataTables table go to the next, +previous, first or last pages.
fnSetColumnVis(iCol, bShow, bRedraw)
Show a particular column
fnSettings() → {object}
Get the settings for a particular table for external manipulation
fnSort(iCol)
Sort the table by a particular column
fnSortListener(nNode, iColumn, fnCallback)
Attach a sort listener to an element for a given column
<static> fnTables(bVisible) → {array}
Get all DataTable tables that have been initialised - optionally you can select to +get only currently visible tables.
fnUpdate(mData, mRow, iColumn, bRedraw, bAction) → {int}
Update a table cell or row - this method will accept either a single value to +update the cell with, an array of values with one element for each column or +an object in the same format as the original data source. The function is +self-referencing in order to make the multi column updates easier.
fnVersionCheck(sVersion) → {boolean}
Provide a common method for plug-ins to check the version of DataTables being used, in order +to ensure compatibility.
<static> fnVersionCheck(sVersion) → {boolean}
Provide a common method for plug-ins to check the version of DataTables being used, in order +to ensure compatibility.
+
+

Events

+
+
destroy
Destroy event, fired when the DataTable is destroyed by calling fnDestroy or passing +the bDestroy:true parameter in the initialisation object. This can be used to remove +bound events, added DOM nodes, etc.
draw
Draw event, fired whenever the table is redrawn on the page, at the same point as +fnDrawCallback. This may be useful for binding events or performing calculations when +the table is altered at all.
filter
Filter event, fired when the filtering applied to the table (using the build in global +global filter, or column filters) is altered.
init
DataTables initialisation complete event, fired when the table is fully drawn, +including Ajax data loaded, if Ajax data is required.
page
Page change event, fired when the paging of the table is altered.
processing
Processing event, fired when DataTables is doing some kind of processing (be it, +sort, filter or anything else). Can be used to indicate to the end user that +there is something happening, or that something has finished.
sort
Sort event, fired when the sorting applied to the table is altered.
stateLoaded
State loaded event, fired when state has been loaded from stored data and the settings +object has been modified by the loaded data.
stateLoadParams
State load event, fired when the table is loading state from the stored data, but +prior to the settings object being modified by the saved state - allowing modification +of the saved state is required or loading of state for a plug-in.
stateSaveParams
State save event, fired when the table has changed state a new state save is required. +This method allows modification of the state saving object prior to actually doing the +save, including addition or other state properties (for plug-ins) or modification +of a DataTables core property.
xhr
Ajax (XHR) event, fired whenever an Ajax request is completed from a request to +made to the server for new data (note that this trigger is called in fnServerData, +if you override fnServerData and which to use this event, you need to trigger it in +you success function).
+ +
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> version :string

Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional

+ +
+
+

Methods

+
+
$(sSelector, oOpts) → {object}

Perform a jQuery selector action on the table's TR elements (from the tbody) and +return the resulting jQuery object.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sSelectorstring | node | jQueryjQuery selector or node collection to act on
2
oOptsobjectOptionalOptional parameters for modifying the rows to be included
oOpts.filterstring<optional>
noneSelect TR elements that meet the current filter + criterion ("applied") or all TR elements (i.e. no filter).
oOpts.orderstring<optional>
currentOrder of the TR elements in the processed array. + Can be either 'current', whereby the current sorting of the table is used, or + 'original' whereby the original order the data was read into the table is used.
oOpts.pagestring<optional>
allLimit the selection to the currently displayed page + ("current") or not ("all"). If 'current' is given, then order is assumed to be + 'current' and filter is 'applied', regardless of what they might be given as.
Returns:

jQuery object, filtered by the given selector.

Examples:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+
+     // Highlight every second row
+     oTable.$('tr:odd').css('backgroundColor', 'blue');
+   } );
+
+ 
+
+ +
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+
+     // Filter to rows with 'Webkit' in them, add a background colour and then
+     // remove the filter, thus highlighting the 'Webkit' rows only.
+     oTable.fnFilter('Webkit');
+     oTable.$('tr', {"filter": "applied"}).css('backgroundColor', 'blue');
+     oTable.fnFilter('');
+   } );
+
+
+
_(sSelector, oOpts) → {array}

Almost identical to $ in operation, but in this case returns the data for the matched +rows - as such, the jQuery selector used should match TR row nodes or TD/TH cell nodes +rather than any decendents, so the data can be obtained for the row/cell. If matching +rows are found, the data returned is the original data array/object that was used to +create the row (or a generated array if from a DOM source).

This method is often useful incombination with $ where both functions are given the +same parameters and the array indexes will match identically.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sSelectorstring | node | jQueryjQuery selector or node collection to act on
2
oOptsobjectOptionalOptional parameters for modifying the rows to be included
oOpts.filterstring<optional>
noneSelect elements that meet the current filter + criterion ("applied") or all elements (i.e. no filter).
oOpts.orderstring<optional>
currentOrder of the data in the processed array. + Can be either 'current', whereby the current sorting of the table is used, or + 'original' whereby the original order the data was read into the table is used.
oOpts.pagestring<optional>
allLimit the selection to the currently displayed page + ("current") or not ("all"). If 'current' is given, then order is assumed to be + 'current' and filter is 'applied', regardless of what they might be given as.
Returns:

Data for the matched elements. If any elements, as a result of the + selector, were not TR, TD or TH elements in the DataTable, they will have a null + entry in the array.

Examples:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+
+     // Get the data from the first row in the table
+     var data = oTable._('tr:first');
+
+     // Do something useful with the data
+     alert( "First cell is: "+data[0] );
+   } );
+
+ 
+
+ +
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+
+     // Filter to 'Webkit' and get all data for 
+     oTable.fnFilter('Webkit');
+     var data = oTable._('tr', {"filter": "applied"});
+     
+     // Do something with the data
+     alert( data.length+" rows matched the filter" );
+   } );
+
+
+
fnAddData(mData, bRedraw) → {array}

Add a single new row or multiple rows of data to the table. Please note +that this is suitable for client-side processing only - if you are using +server-side processing (i.e. "bServerSide": true), then to add data, you +must add it to the data source, i.e. the server-side, through an Ajax call.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mDataarray | objectThe data to be added to the table. This can be: +
    +
  • 1D array of data - add a single row with the data provided
  • +
  • 2D array of arrays - add multiple rows in a single call
  • +
  • object - data object when using mDataProp
  • +
  • array of objects - multiple data objects when using mDataProp
  • +
2
bRedrawboolOptionaltrueredraw the table or not
Returns:

An array of integers, representing the list of indexes in + aoData (DataTable.models.oSettings) that have been added to + the table.

Example:
+
+
   // Global var for counter
+   var giCount = 2;
+   
+   $(document).ready(function() {
+     $('#example').dataTable();
+   } );
+   
+   function fnClickAddRow() {
+     $('#example').dataTable().fnAddData( [
+       giCount+".1",
+       giCount+".2",
+       giCount+".3",
+       giCount+".4" ]
+     );
+       
+     giCount++;
+   }
+
+
+
fnAdjustColumnSizing(bRedraw)

This function will make DataTables recalculate the column sizes, based on the data +contained in the table and the sizes applied to the columns (in the DOM, CSS or +through the sWidth parameter). This can be useful when the width of the table's +parent element changes (for example a window resize).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
bRedrawbooleanOptionaltrueRedraw the table or not, you will typically want to
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable( {
+       "sScrollY": "200px",
+       "bPaginate": false
+     } );
+     
+     $(window).bind('resize', function () {
+       oTable.fnAdjustColumnSizing();
+     } );
+   } );
+
+
+
fnClearTable(bRedraw)

Quickly and simply clear a table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
bRedrawboolOptionaltrueredraw the table or not
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Immediately 'nuke' the current rows (perhaps waiting for an Ajax callback...)
+     oTable.fnClearTable();
+   } );
+
+
+
fnClose(nTr) → {int}

The exact opposite of 'opening' a row, this function will close any rows which +are currently 'open'.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTrnodethe table row to 'close'
Returns:

0 on success, or 1 if failed (can't find the row)

Example:
+
+
   $(document).ready(function() {
+     var oTable;
+     
+     // 'open' an information row when a row is clicked on
+     $('#example tbody tr').click( function () {
+       if ( oTable.fnIsOpen(this) ) {
+         oTable.fnClose( this );
+       } else {
+         oTable.fnOpen( this, "Temporary row opened", "info_row" );
+       }
+     } );
+     
+     oTable = $('#example').dataTable();
+   } );
+
+
+
fnDeleteRow(mTarget, fnCallBack, bRedraw) → {array}

Remove a row for the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mTargetmixedThe index of the row from aoData to be deleted, or + the TR element you want to delete
2
fnCallBackfunction | nullOptionalCallback function
3
bRedrawboolOptionaltrueRedraw the table or not
Returns:

The row that was deleted

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Immediately remove the first row
+     oTable.fnDeleteRow( 0 );
+   } );
+
+
+
fnDestroy(bRemove)

Restore the table to it's original state in the DOM by removing all of DataTables +enhancements, alterations to the DOM structure of the table and event listeners.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
bRemovebooleanOptionalfalseCompletely remove the table from the DOM
Example:
+
+
   $(document).ready(function() {
+     // This example is fairly pointless in reality, but shows how fnDestroy can be used
+     var oTable = $('#example').dataTable();
+     oTable.fnDestroy();
+   } );
+
+
+
fnDraw(bComplete)

Redraw the table

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
bCompleteboolOptionaltrueRe-filter and resort (if enabled) the table before the draw.
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Re-draw the table - you wouldn't want to do it here, but it's an example :-)
+     oTable.fnDraw();
+   } );
+
+
+
fnFilter(sInput, iColumn, bRegex, bSmart, bShowGlobal, bCaseInsensitive)

Filter the input based on data

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sInputstringString to filter the table on
2
iColumnint | nullOptionalColumn to limit filtering to
3
bRegexboolOptionalfalseTreat as regular expression or not
4
bSmartboolOptionaltruePerform smart filtering or not
5
bShowGlobalboolOptionaltrueShow the input global filter in it's input box(es)
6
bCaseInsensitiveboolOptionaltrueDo case-insensitive matching (true) or not (false)
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Sometime later - filter...
+     oTable.fnFilter( 'test string' );
+   } );
+
+
+
fnGetData(mRow, iCol) → {array|object|string}

Get the data for the whole table, an individual row or an individual cell based on the +provided parameters.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mRowint | nodeOptionalA TR row node, TD/TH cell node or an integer. If given as + a TR node then the data source for the whole row will be returned. If given as a + TD/TH cell node then iCol will be automatically calculated and the data for the + cell returned. If given as an integer, then this is treated as the aoData internal + data index for the row (see fnGetPosition) and the data for that row used.
2
iColintOptionalOptional column index that you want the data of.
Returns:

If mRow is undefined, then the data for all rows is + returned. If mRow is defined, just data for that row, and is iCol is + defined, only data for the designated cell is returned.

Examples:
+
+
   // Row data
+   $(document).ready(function() {
+     oTable = $('#example').dataTable();
+
+     oTable.$('tr').click( function () {
+       var data = oTable.fnGetData( this );
+       // ... do something with the array / object of data for the row
+     } );
+   } );
+
+ 
+
+ +
+
   // Individual cell data
+   $(document).ready(function() {
+     oTable = $('#example').dataTable();
+
+     oTable.$('td').click( function () {
+       var sData = oTable.fnGetData( this );
+       alert( 'The cell clicked on had the value of '+sData );
+     } );
+   } );
+
+
+
fnGetNodes(iRow) → {array|node}

Get an array of the TR nodes that are used in the table's body. Note that you will +typically want to use the '$' API method in preference to this as it is more +flexible.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
iRowintOptionalOptional row index for the TR element you want
Returns:

If iRow is undefined, returns an array of all TR elements + in the table's body, or iRow is defined, just the TR element requested.

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Get the nodes from the table
+     var nNodes = oTable.fnGetNodes( );
+   } );
+
+
+
fnGetPosition(nNode) → {int}

Get the array indexes of a particular cell from it's DOM element +and column index including hidden columns

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nNodenodethis can either be a TR, TD or TH in the table's body
Returns:

If nNode is given as a TR, then a single index is returned, or + if given as a cell, an array of [row index, column index (visible)] is given.

Example:
+
+
   $(document).ready(function() {
+     $('#example tbody td').click( function () {
+       // Get the position of the current data from the node
+       var aPos = oTable.fnGetPosition( this );
+       
+       // Get the data array for this row
+       var aData = oTable.fnGetData( aPos[0] );
+       
+       // Update the data array and return the value
+       aData[ aPos[1] ] = 'clicked';
+       this.innerHTML = 'clicked';
+     } );
+     
+     // Init DataTables
+     oTable = $('#example').dataTable();
+   } );
+
+
+
<static> fnIsDataTable(nTable) → {boolean}

Check if a TABLE node is a DataTable table already or not.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTablenodeThe TABLE node to check if it is a DataTable or not (note that other + node types can be passed in, but will always return false).
Returns:

true the table given is a DataTable, or false otherwise

Example:
+
+
   var ex = document.getElementById('example');
+   if ( ! $.fn.DataTable.fnIsDataTable( ex ) ) {
+     $(ex).dataTable();
+   }
+
+
+
fnIsOpen(nTr) → {boolean}

Check to see if a row is 'open' or not.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTrnodethe table row to check
Returns:

true if the row is currently open, false otherwise

Example:
+
+
   $(document).ready(function() {
+     var oTable;
+     
+     // 'open' an information row when a row is clicked on
+     $('#example tbody tr').click( function () {
+       if ( oTable.fnIsOpen(this) ) {
+         oTable.fnClose( this );
+       } else {
+         oTable.fnOpen( this, "Temporary row opened", "info_row" );
+       }
+     } );
+     
+     oTable = $('#example').dataTable();
+   } );
+
+
+
fnOpen(nTr, mHtml, sClass) → {node}

This function will place a new row directly after a row which is currently +on display on the page, with the HTML contents that is passed into the +function. This can be used, for example, to ask for confirmation that a +particular record should be deleted.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTrnodeThe table row to 'open'
2
mHtmlstring | node | jQueryThe HTML to put into the row
3
sClassstringClass to give the new TD cell
Returns:

The row opened. Note that if the table row passed in as the + first parameter, is not found in the table, this method will silently + return.

Example:
+
+
   $(document).ready(function() {
+     var oTable;
+     
+     // 'open' an information row when a row is clicked on
+     $('#example tbody tr').click( function () {
+       if ( oTable.fnIsOpen(this) ) {
+         oTable.fnClose( this );
+       } else {
+         oTable.fnOpen( this, "Temporary row opened", "info_row" );
+       }
+     } );
+     
+     oTable = $('#example').dataTable();
+   } );
+
+
+
fnPageChange(mAction, bRedraw)

Change the pagination - provides the internal logic for pagination in a simple API +function. With this function you can have a DataTables table go to the next, +previous, first or last pages.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mActionstring | intPaging action to take: "first", "previous", "next" or "last" + or page number to jump to (integer), note that page 0 is the first page.
2
bRedrawboolOptionaltrueRedraw the table or not
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     oTable.fnPageChange( 'next' );
+   } );
+
+
+
fnSetColumnVis(iCol, bShow, bRedraw)

Show a particular column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
iColintThe column whose display should be changed
2
bShowboolShow (true) or hide (false) the column
3
bRedrawboolOptionaltrueRedraw the table or not
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Hide the second column after initialisation
+     oTable.fnSetColumnVis( 1, false );
+   } );
+
+
+
fnSettings() → {object}

Get the settings for a particular table for external manipulation

+ +
+
Returns:

DataTables settings object. See + DataTable.models.oSettings

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     var oSettings = oTable.fnSettings();
+     
+     // Show an example parameter from the settings
+     alert( oSettings._iDisplayStart );
+   } );
+
+
+
fnSort(iCol)

Sort the table by a particular column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
iColintthe data index to sort on. Note that this will not match the + 'display index' if you have hidden data entries
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Sort immediately with columns 0 and 1
+     oTable.fnSort( [ [0,'asc'], [1,'asc'] ] );
+   } );
+
+
+
fnSortListener(nNode, iColumn, fnCallback)

Attach a sort listener to an element for a given column

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nNodenodethe element to attach the sort listener to
2
iColumnintthe column that a click on this node will sort on
3
fnCallbackfunctionOptionalcallback function when sort is run
Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     
+     // Sort on column 1, when 'sorter' is clicked on
+     oTable.fnSortListener( document.getElementById('sorter'), 1 );
+   } );
+
+
+
<static> fnTables(bVisible) → {array}

Get all DataTable tables that have been initialised - optionally you can select to +get only currently visible tables.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
bVisiblebooleanOptionalfalseFlag to indicate if you want all (default) or + visible tables only.
Returns:

Array of TABLE nodes (not DataTable instances) which are DataTables

Example:
+
+
   var table = $.fn.dataTable.fnTables(true);
+   if ( table.length > 0 ) {
+     $(table).dataTable().fnAdjustColumnSizing();
+   }
+
+
+
fnUpdate(mData, mRow, iColumn, bRedraw, bAction) → {int}

Update a table cell or row - this method will accept either a single value to +update the cell with, an array of values with one element for each column or +an object in the same format as the original data source. The function is +self-referencing in order to make the multi column updates easier.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
mDataobject | array | stringData to update the cell/row with
2
mRownode | intTR element you want to update or the aoData index
3
iColumnintOptionalThe column to update (not used of mData is an array or object)
4
bRedrawboolOptionaltrueRedraw the table or not
5
bActionboolOptionaltruePerform predraw actions or not
Returns:

0 on success, 1 on error

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     oTable.fnUpdate( 'Example update', 0, 0 ); // Single cell
+     oTable.fnUpdate( ['a', 'b', 'c', 'd', 'e'], 1, 0 ); // Row
+   } );
+
+
+
fnVersionCheck(sVersion) → {boolean}

Provide a common method for plug-ins to check the version of DataTables being used, in order +to ensure compatibility.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sVersionstringVersion string to check for, in the format "X.Y.Z". Note that the + formats "X" and "X.Y" are also acceptable.
Returns:

true if this version of DataTables is greater or equal to the required + version, or false if this version of DataTales is not suitable

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     alert( oTable.fnVersionCheck( '1.9.0' ) );
+   } );
+
+
+
<static> fnVersionCheck(sVersion) → {boolean}

Provide a common method for plug-ins to check the version of DataTables being used, in order +to ensure compatibility.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sVersionstringVersion string to check for, in the format "X.Y.Z". Note that the + formats "X" and "X.Y" are also acceptable.
Returns:

true if this version of DataTables is greater or equal to the required + version, or false if this version of DataTales is not suitable

Example:
+
+
   alert( $.fn.dataTable.fnVersionCheck( '1.9.0' ) );
+
+
+ +
+

Events

+
+
destroy

Destroy event, fired when the DataTable is destroyed by calling fnDestroy or passing +the bDestroy:true parameter in the initialisation object. This can be used to remove +bound events, added DOM nodes, etc.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+
draw

Draw event, fired whenever the table is redrawn on the page, at the same point as +fnDrawCallback. This may be useful for binding events or performing calculations when +the table is altered at all.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+
filter

Filter event, fired when the filtering applied to the table (using the build in global +global filter, or column filters) is altered.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+
init

DataTables initialisation complete event, fired when the table is fully drawn, +including Ajax data loaded, if Ajax data is required.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oSettingsobjectDataTables settings object
3
jsonobjectThe JSON object request from the server - only + present if client-side Ajax sourced data is used
+
page

Page change event, fired when the paging of the table is altered.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+
processing

Processing event, fired when DataTables is doing some kind of processing (be it, +sort, filter or anything else). Can be used to indicate to the end user that +there is something happening, or that something has finished.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oSettingsobjectDataTables settings object
3
bShowbooleanFlag for if DataTables is doing processing or not
+
sort

Sort event, fired when the sorting applied to the table is altered.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+
stateLoaded

State loaded event, fired when state has been loaded from stored data and the settings +object has been modified by the loaded data.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oSettingsobjectDataTables settings object
3
jsonobjectThe saved state information
+
stateLoadParams

State load event, fired when the table is loading state from the stored data, but +prior to the settings object being modified by the saved state - allowing modification +of the saved state is required or loading of state for a plug-in.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oSettingsobjectDataTables settings object
3
jsonobjectThe saved state information
+
stateSaveParams

State save event, fired when the table has changed state a new state save is required. +This method allows modification of the state saving object prior to actually doing the +save, including addition or other state properties (for plug-ins) or modification +of a DataTables core property.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oSettingsobjectDataTables settings object
3
jsonobjectThe state information to be saved
+
xhr

Ajax (XHR) event, fired whenever an Ajax request is completed from a request to +made to the server for new data (note that this trigger is called in fnServerData, +if you override fnServerData and which to use this event, you need to trigger it in +you success function).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
eeventjQuery event object
2
oobjectDataTables settings object DataTable.models.oSettings
+ +
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.ext.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.ext.html new file mode 100644 index 0000000..778206b --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.ext.html @@ -0,0 +1,762 @@ + + + + + Namespace: ext - documentation + + + + + + + + + +
+ + +
+

Namespace: ext

+

Ancestry: DataTable » .models. » ext

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

DataTables extension options and plug-ins. This namespace acts as a collection "area" +for plug-ins that can be used to extend the default DataTables behaviour - indeed many +of the build in methods use this method to provide their own capabilities (sorting methods +for example).

Note that this namespace is aliased to jQuery.fn.dataTableExt so it can be readily accessed +and modified by plug-ins.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> afnFiltering :array
Plug-in filtering functions - this method of filtering is complimentary to the default +type based filtering, and a lot more comprehensive as it allows you complete control +over the filtering logic. Each element in this array is a function (parameters +described below) that is called for every row in the table, and your logic decides if +it should be included in the filtered data set or not. +
    +
  • + Function input parameters: +
      +
    • {object} DataTables settings object: see DataTable.models.oSettings.
    • +
    • {array|object} Data for the row to be processed (same as the original format + that was passed in as the data source, or an array from a DOM data source
    • +
    • {int} Row index in aoData (DataTable.models.oSettings.aoData), which can + be useful to retrieve the TR element if you need DOM interaction.
    • +
    +
  • +
  • + Function return: +
      +
    • {boolean} Include the row in the filtered result set (true) or not (false)
    • +
    + +
<static> afnSortData :array
Plug-in sorting functions - this method of sorting is complimentary to the default type +based sorting that DataTables does automatically, allowing much greater control over the +the data that is being used to sort a column. This is useful if you want to do sorting +based on live data (for example the contents of an 'input' element) rather than just the +static string that DataTables knows of. The way these plug-ins work is that you create +an array of the values you wish to be sorted for the column in question and then return +that array. Which pre-sorting function is run here depends on the sSortDataType parameter +that is used for the column (if any). This is the corollary of ofnSearch for sort +data. +
    +
  • + Function input parameters: + +
  • +
  • + Function return: +
      +
    • {array} Data for the column to be sorted upon
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.
<static> aoFeatures :array
Feature plug-ins - This is an array of objects which describe the feature plug-ins that are +available to DataTables. These feature plug-ins are accessible through the sDom initialisation +option. As such, each feature plug-in must describe a function that is used to initialise +itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name +of the feature (sFeature). Thus the objects attached to this method must provide: +
    +
  • {function} fnInit Initialisation of the plug-in +
      +
    • + Function input parameters: + +
    • +
    • + Function return: +
        +
      • {node|null} The element which contains your feature. Note that the return + may also be void if your plug-in does not require to inject any DOM elements + into DataTables control (sDom) - for example this might be useful when + developing a plug-in which allows table control via keyboard entry.
      • +
      + +
    +
  • +
  • {character} cFeature Character that will be matched in sDom - case sensitive
  • +
  • {string} sFeature Feature name
  • +
<static> aTypes :array
Type detection plug-in functions - DataTables utilises types to define how sorting and +filtering behave, and types can be either be defined by the developer (sType for the +column) or they can be automatically detected by the methods in this array. The functions +defined in the array are quite simple, taking a single parameter (the data to analyse) +and returning the type if it is a known type, or null otherwise. +
    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be analysed
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Data type detected, or null if unknown (and thus pass it + on to the other type detection functions.
    • +
    + +
<static> fnVersionCheck :function
Provide a common method for plug-ins to check the version of DataTables being used, +in order to ensure compatibility.
<static> iApiIndex :int
Index for what 'this' index API functions should use
<static> oApi :object
Container for all private functions in DataTables so they can be exposed externally
<static> ofnSearch :object
Pre-processing of filtering data plug-ins - When you assign the sType for a column +(or have it automatically detected for you by DataTables or a type detection plug-in), +you will typically be using this for custom sorting, but it can also be used to provide +custom filtering by allowing you to pre-processing the data and returning the data in +the format that should be filtered upon. This is done by adding functions this object +with a parameter name which matches the sType for that target column. This is the +corollary of afnSortData for filtering data. +
    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be prepared for filtering
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Formatted string that will be used for the filtering.
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.
<static> oJUIClasses :object
Storage for the various classes that DataTables uses - jQuery UI suitable
<static> oPagination :object
Pagination plug-in methods - The style and controls of the pagination can significantly +impact on how the end user interacts with the data in your table, and DataTables allows +the addition of pagination controls by extending this object, which can then be enabled +through the sPaginationType initialisation parameter. Each pagination type that +is added is an object (the property name of which is what sPaginationType refers +to) that has two properties, both methods that are used by DataTables to update the +control's state. +
    +
  • + fnInit - Initialisation of the paging controls. Called only during initialisation + of the table. It is expected that this function will add the required DOM elements + to the page for the paging controls to work. The element pointer + 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging + controls (note that this is a 2D array to allow for multiple instances of each + DataTables DOM element). It is suggested that you add the controls to this element + as children +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {node} Container into which the pagination controls must be inserted
      • +
      • {function} Draw callback function - whenever the controls cause a page + change, this method must be called to redraw the table.
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
  • + fnInit - This function is called whenever the paging status of the table changes and is + typically used to update classes and/or text of the paging controls to reflex the new + status. +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {function} Draw callback function - in case you need to redraw the table again + or attach new event listeners
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
<static> oSort :object
Sorting plug-in methods - Sorting in DataTables is based on the detected type of the +data column (you can add your own type detection functions, or override automatic +detection using sType). With this specific type given to the column, DataTables will +apply the required sort from the functions in the object. Each sort type must provide +two mandatory methods, one each for ascending and descending sorting, and can optionally +provide a pre-formatting method that will help speed up sorting by allowing DataTables +to pre-format the sort data only once (rather than every time the actual sort functions +are run). The two sorting functions are typical Javascript sort methods: +
    +
  • + Function input parameters: +
      +
    • {*} Data to compare to the second parameter
    • +
    • {*} Data to compare to the first parameter
    • +
    +
  • +
  • + Function return: +
      +
    • {int} Sorting match: <0 if first parameter should be sorted lower than + the second parameter, ===0 if the two parameters are equal and >0 if + the first parameter should be sorted height than the second parameter.
    • +
    + +
<static> oStdClasses :object
Storage for the various classes that DataTables uses
<static> sErrMode :string
How should DataTables report an error. Can take the value 'alert' or 'throw'
<static> sVersion :string
Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> afnFiltering :array

Plug-in filtering functions - this method of filtering is complimentary to the default +type based filtering, and a lot more comprehensive as it allows you complete control +over the filtering logic. Each element in this array is a function (parameters +described below) that is called for every row in the table, and your logic decides if +it should be included in the filtered data set or not. +

    +
  • + Function input parameters: +
      +
    • {object} DataTables settings object: see DataTable.models.oSettings.
    • +
    • {array|object} Data for the row to be processed (same as the original format + that was passed in as the data source, or an array from a DOM data source
    • +
    • {int} Row index in aoData (DataTable.models.oSettings.aoData), which can + be useful to retrieve the TR element if you need DOM interaction.
    • +
    +
  • +
  • + Function return: +
      +
    • {boolean} Include the row in the filtered result set (true) or not (false)
    • +
    + +

+ +
+
Example
+
+
   // The following example shows custom filtering being applied to the fourth column (i.e.
+   // the aData[3] index) based on two input values from the end-user, matching the data in 
+   // a certain range.
+   $.fn.dataTableExt.afnFiltering.push(
+     function( oSettings, aData, iDataIndex ) {
+       var iMin = document.getElementById('min').value * 1;
+       var iMax = document.getElementById('max').value * 1;
+       var iVersion = aData[3] == "-" ? 0 : aData[3]*1;
+       if ( iMin == "" && iMax == "" ) {
+         return true;
+       }
+       else if ( iMin == "" && iVersion < iMax ) {
+         return true;
+       }
+       else if ( iMin < iVersion && "" == iMax ) {
+         return true;
+       }
+       else if ( iMin < iVersion && iVersion < iMax ) {
+         return true;
+       }
+       return false;
+     }
+   );
+
+
<static> afnSortData :array

Plug-in sorting functions - this method of sorting is complimentary to the default type +based sorting that DataTables does automatically, allowing much greater control over the +the data that is being used to sort a column. This is useful if you want to do sorting +based on live data (for example the contents of an 'input' element) rather than just the +static string that DataTables knows of. The way these plug-ins work is that you create +an array of the values you wish to be sorted for the column in question and then return +that array. Which pre-sorting function is run here depends on the sSortDataType parameter +that is used for the column (if any). This is the corollary of ofnSearch for sort +data. +

    +
  • + Function input parameters: + +
  • +
  • + Function return: +
      +
    • {array} Data for the column to be sorted upon
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.

+
Deprecated
Yes
+
+
Example
+
+
   // Updating the cached sorting information with user entered values in HTML input elements
+   jQuery.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn )
+   {
+     var aData = [];
+     $( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+       aData.push( this.value );
+     } );
+     return aData;
+   }
+
+
<static> aoFeatures :array

Feature plug-ins - This is an array of objects which describe the feature plug-ins that are +available to DataTables. These feature plug-ins are accessible through the sDom initialisation +option. As such, each feature plug-in must describe a function that is used to initialise +itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name +of the feature (sFeature). Thus the objects attached to this method must provide: +

    +
  • {function} fnInit Initialisation of the plug-in +
      +
    • + Function input parameters: + +
    • +
    • + Function return: +
        +
      • {node|null} The element which contains your feature. Note that the return + may also be void if your plug-in does not require to inject any DOM elements + into DataTables control (sDom) - for example this might be useful when + developing a plug-in which allows table control via keyboard entry.
      • +
      + +
    +
  • +
  • {character} cFeature Character that will be matched in sDom - case sensitive
  • +
  • {string} sFeature Feature name
  • +

+ +
+
Example
+
+
   // How TableTools initialises itself.
+   $.fn.dataTableExt.aoFeatures.push( {
+     "fnInit": function( oSettings ) {
+       return new TableTools( { "oDTSettings": oSettings } );
+     },
+     "cFeature": "T",
+     "sFeature": "TableTools"
+   } );
+
+
<static> aTypes :array

Type detection plug-in functions - DataTables utilises types to define how sorting and +filtering behave, and types can be either be defined by the developer (sType for the +column) or they can be automatically detected by the methods in this array. The functions +defined in the array are quite simple, taking a single parameter (the data to analyse) +and returning the type if it is a known type, or null otherwise. +

    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be analysed
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Data type detected, or null if unknown (and thus pass it + on to the other type detection functions.
    • +
    + +

+ +
+
Example
+
+
   // Currency type detection plug-in:
+   jQuery.fn.dataTableExt.aTypes.push(
+     function ( sData ) {
+       var sValidChars = "0123456789.-";
+       var Char;
+       
+       // Check the numeric part
+       for ( i=1 ; i
+    
+
<static> fnVersionCheck :function

Provide a common method for plug-ins to check the version of DataTables being used, +in order to ensure compatibility.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
sVersionstringVersion string to check for, in the format "X.Y.Z". Note + that the formats "X" and "X.Y" are also acceptable.
Returns:

true if this version of DataTables is greater or equal to the + required version, or false if this version of DataTales is not suitable

Example:
+
+
   $(document).ready(function() {
+     var oTable = $('#example').dataTable();
+     alert( oTable.fnVersionCheck( '1.9.0' ) );
+   } );
+
+
+
<static> iApiIndex :int

Index for what 'this' index API functions should use

+ +
+
<static> oApi :object

Container for all private functions in DataTables so they can be exposed externally

+ +
+
<static> ofnSearch :object

Pre-processing of filtering data plug-ins - When you assign the sType for a column +(or have it automatically detected for you by DataTables or a type detection plug-in), +you will typically be using this for custom sorting, but it can also be used to provide +custom filtering by allowing you to pre-processing the data and returning the data in +the format that should be filtered upon. This is done by adding functions this object +with a parameter name which matches the sType for that target column. This is the +corollary of afnSortData for filtering data. +

    +
  • + Function input parameters: +
      +
    • {*} Data from the column cell to be prepared for filtering
    • +
    +
  • +
  • + Function return: +
      +
    • {string|null} Formatted string that will be used for the filtering.
    • +
    + +
+ +Note that as of v1.9, it is typically preferable to use mDataProp to prepare data for +the different uses that DataTables can put the data to. Specifically mDataProp when +used as a function will give you a 'type' (sorting, filtering etc) that you can use to +prepare the data as required for the different types. As such, this method is deprecated.

+
Deprecated
Yes
+
+
Example
+
+
   $.fn.dataTableExt.ofnSearch['title-numeric'] = function ( sData ) {
+     return sData.replace(/\n/g," ").replace( /<.*?>/g, "" );
+   }
+
+
<static> oJUIClasses :object

Storage for the various classes that DataTables uses - jQuery UI suitable

+ +
+
<static> oPagination :object

Pagination plug-in methods - The style and controls of the pagination can significantly +impact on how the end user interacts with the data in your table, and DataTables allows +the addition of pagination controls by extending this object, which can then be enabled +through the sPaginationType initialisation parameter. Each pagination type that +is added is an object (the property name of which is what sPaginationType refers +to) that has two properties, both methods that are used by DataTables to update the +control's state. +

    +
  • + fnInit - Initialisation of the paging controls. Called only during initialisation + of the table. It is expected that this function will add the required DOM elements + to the page for the paging controls to work. The element pointer + 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging + controls (note that this is a 2D array to allow for multiple instances of each + DataTables DOM element). It is suggested that you add the controls to this element + as children +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {node} Container into which the pagination controls must be inserted
      • +
      • {function} Draw callback function - whenever the controls cause a page + change, this method must be called to redraw the table.
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +
  • + fnInit - This function is called whenever the paging status of the table changes and is + typically used to update classes and/or text of the paging controls to reflex the new + status. +
      +
    • + Function input parameters: +
        +
      • {object} DataTables settings object: see DataTable.models.oSettings.
      • +
      • {function} Draw callback function - in case you need to redraw the table again + or attach new event listeners
      • +
      +
    • +
    • + Function return: +
        +
      • No return required
      • +
      + +
    + +

+ +
+
Example
+
+
   $.fn.dataTableExt.oPagination.four_button = {
+     "fnInit": function ( oSettings, nPaging, fnCallbackDraw ) {
+       nFirst = document.createElement( 'span' );
+       nPrevious = document.createElement( 'span' );
+       nNext = document.createElement( 'span' );
+       nLast = document.createElement( 'span' );
+       
+       nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
+       nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) );
+       nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) );
+       nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );
+       
+       nFirst.className = "paginate_button first";
+       nPrevious.className = "paginate_button previous";
+       nNext.className="paginate_button next";
+       nLast.className = "paginate_button last";
+       
+       nPaging.appendChild( nFirst );
+       nPaging.appendChild( nPrevious );
+       nPaging.appendChild( nNext );
+       nPaging.appendChild( nLast );
+       
+       $(nFirst).click( function () {
+         oSettings.oApi._fnPageChange( oSettings, "first" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nPrevious).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "previous" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nNext).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "next" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nLast).click( function() {
+         oSettings.oApi._fnPageChange( oSettings, "last" );
+         fnCallbackDraw( oSettings );
+       } );
+       
+       $(nFirst).bind( 'selectstart', function () { return false; } );
+       $(nPrevious).bind( 'selectstart', function () { return false; } );
+       $(nNext).bind( 'selectstart', function () { return false; } );
+       $(nLast).bind( 'selectstart', function () { return false; } );
+     },
+     
+     "fnUpdate": function ( oSettings, fnCallbackDraw ) {
+       if ( !oSettings.aanFeatures.p ) {
+         return;
+       }
+       
+       // Loop over each instance of the pager
+       var an = oSettings.aanFeatures.p;
+       for ( var i=0, iLen=an.length ; i
+    
+
<static> oSort :object

Sorting plug-in methods - Sorting in DataTables is based on the detected type of the +data column (you can add your own type detection functions, or override automatic +detection using sType). With this specific type given to the column, DataTables will +apply the required sort from the functions in the object. Each sort type must provide +two mandatory methods, one each for ascending and descending sorting, and can optionally +provide a pre-formatting method that will help speed up sorting by allowing DataTables +to pre-format the sort data only once (rather than every time the actual sort functions +are run). The two sorting functions are typical Javascript sort methods: +

    +
  • + Function input parameters: +
      +
    • {*} Data to compare to the second parameter
    • +
    • {*} Data to compare to the first parameter
    • +
    +
  • +
  • + Function return: +
      +
    • {int} Sorting match: <0 if first parameter should be sorted lower than + the second parameter, ===0 if the two parameters are equal and >0 if + the first parameter should be sorted height than the second parameter.
    • +
    + +

+ +
+
Examples
+
+
   // Case-sensitive string sorting, with no pre-formatting method
+   $.extend( $.fn.dataTableExt.oSort, {
+     "string-case-asc": function(x,y) {
+       return ((x < y) ? -1 : ((x > y) ? 1 : 0));
+     },
+     "string-case-desc": function(x,y) {
+       return ((x < y) ? 1 : ((x > y) ? -1 : 0));
+     }
+   } );
+
+ 
+
+ +
+
   // Case-insensitive string sorting, with pre-formatting
+   $.extend( $.fn.dataTableExt.oSort, {
+     "string-pre": function(x) {
+       return x.toLowerCase();
+     },
+     "string-asc": function(x,y) {
+       return ((x < y) ? -1 : ((x > y) ? 1 : 0));
+     },
+     "string-desc": function(x,y) {
+       return ((x < y) ? 1 : ((x > y) ? -1 : 0));
+     }
+   } );
+
+
<static> oStdClasses :object

Storage for the various classes that DataTables uses

+ +
+
<static> sErrMode :string

How should DataTables report an error. Can take the value 'alert' or 'throw'

+ +
+
<static> sVersion :string

Version string for plug-ins to check compatibility. Allowed format is +a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and +e are optional

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.html new file mode 100644 index 0000000..4e9d44e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.html @@ -0,0 +1,108 @@ + + + + + Namespace: models - documentation + + + + + + + + + +
+ + +
+

Namespace: models

+

Ancestry: DataTable. » models

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Object models container, for the various models that DataTables has available +to it. These models define the objects that are used to hold the active state +and configuration of the table.

+ +
+ +
+ + +
+ +

Summary

+ +

Namespaces

+
+
ext
DataTables extension options and plug-ins. This namespace acts as a collection "area" +for plug-ins that can be used to extend the default DataTables behaviour - indeed many +of the build in methods use this method to provide their own capabilities (sorting methods +for example).

Note that this namespace is aliased to jQuery.fn.dataTableExt so it can be readily accessed +and modified by plug-ins.
oColumn
Template object for the column information object in DataTables. This object +is held in the settings aoColumns array and contains all the information that +DataTables needs about each individual column.

Note that this object is related to DataTable.defaults.columns +but this one is the internal data store for DataTables's cache of columns. +It should NOT be manipulated outside of DataTables. Any configuration should +be done through the initialisation options.
oRow
Template object for the way in which DataTables holds information about +each individual row. This is the object format used for the settings +aoData array.
oSearch
Template object for the way in which DataTables holds information about +search information for the global filter and individual column filters.
oSettings
DataTables settings object - this holds all the information needed for a +given table, including configuration, data and current application of the +table options. DataTables does not have a single instance for each DataTable +with the settings attached to that instance, but rather instances of the +DataTable "class" are created on-the-fly as needed (typically by a +$().dataTable() call) and the settings object is then applied to that +instance.

Note that this object is related to DataTable.defaults but this +one is the internal data store for DataTables's cache of columns. It should +NOT be manipulated outside of DataTables. Any configuration should be done +through the initialisation options.
+
+
+ + + + +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oColumn.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oColumn.html new file mode 100644 index 0000000..887b2c7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oColumn.html @@ -0,0 +1,335 @@ + + + + + Namespace: oColumn - documentation + + + + + + + + + +
+ + +
+

Namespace: oColumn

+

Ancestry: DataTable » .models. » oColumn

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Template object for the column information object in DataTables. This object +is held in the settings aoColumns array and contains all the information that +DataTables needs about each individual column.

Note that this object is related to DataTable.defaults.columns +but this one is the internal data store for DataTables's cache of columns. +It should NOT be manipulated outside of DataTables. Any configuration should +be done through the initialisation options.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> aDataSort :array
A list of the columns that sorting should occur on when this column +is sorted. That this property is an array allows multi-column sorting +to be defined for a column (for example first name / last name columns +would benefit from this). The values are integers pointing to the +columns to be sorted on (typically it will be a single integer pointing +at itself, but that doesn't need to be the case).
<static> asSorting :array
Define the sorting directions that are applied to the column, in sequence +as the column is repeatedly sorted upon - i.e. the first value is used +as the sorting direction when the column if first sorted (clicked on). +Sort it again (click again) and it will move on to the next index. +Repeat until loop.
<static> bSearchable :boolean
Flag to indicate if the column is searchable, and thus should be included +in the filtering or not.
<static> bSortable :boolean
Flag to indicate if the column is sortable or not.
<static> bUseRendered :boolean
When using fnRender, you have two options for what to do with the data, +and this property serves as the switch. Firstly, you can have the sorting +and filtering use the rendered value (true - default), or you can have +the sorting and filtering us the original value (false). +NOTE* It is it is advisable now to use mDataProp as a function and make +use of the 'type' that it gives, allowing (potentially) different data to +be used for sorting, filtering, display and type detection.
<static> bVisible :boolean
Flag to indicate if the column is currently visible in the table or not
<static> fnCreatedCell :function
Developer definable function that is called whenever a cell is created (Ajax source, +etc) or processed for input (DOM source). This can be used as a compliment to fnRender +allowing you to modify the DOM element (add background colour for example) when the +element is available (since it is not when fnRender is called).
<static> fnGetData :function
Function to get data from a cell in a column. You should never +access data directly through _aData internally in DataTables - always use +the method attached to this property. It allows mDataProp to function as +required. This function is automatically assigned by the column +initialisation method
<static> fnRender :function
Custom display function that will be called for the display of each cell +in this column.
<static> fnSetData :function
Function to set data for a cell in the column. You should never +set the data directly to _aData internally in DataTables - always use +this method. It allows mDataProp to function as required. This function +is automatically assigned by the column initialisation method
<static> mDataProp :function|int|string|null
Property to read the value for the cells in the column from the data +source array / object. If null, then the default content is used, if a +function is given then the return from the function is used.
<static> nTf :node
Unique footer TH/TD element for this column (if there is one). Not used +in DataTables as such, but can be used for plug-ins to reference the +footer for each column.
<static> nTh :node
Unique header TH/TD element for this column - this is what the sorting +listener is attached to (if sorting is enabled.)
<static> sClass :string
The class to apply to all TD elements in the table's TBODY for the column
<static> sContentPadding :string
When DataTables calculates the column widths to assign to each column, +it finds the longest string in each column and then constructs a +temporary table and reads the widths from that. The problem with this +is that "mmm" is much wider then "iiii", but the latter is a longer +string - thus the calculation can go wrong (doing it properly and putting +it into an DOM object and measuring that is horribly(!) slow). Thus as +a "work around" we provide this option. It will append its value to the +text that is found to be the longest string for the column - i.e. padding.
<static> sDefaultContent :string
Allows a default value to be given for a column's data, and will be used +whenever a null data source is encountered (this can be because mDataProp +is set to null, or because the data source itself is null).
<static> sName :string
Name for the column, allowing reference to the column by name as well as +by index (needs a lookup to work by name).
<static> sSortDataType :string
Custom sorting data type - defines which of the available plug-ins in +afnSortData the custom sorting will use - if any is defined.
<static> sSortingClass :string
Class to be applied to the header element when sorting on this column
<static> sSortingClassJUI :string
Class to be applied to the header element when sorting on this column - +when jQuery UI theming is used.
<static> sTitle :string
Title of the column - what is seen in the TH element (nTh).
<static> sType :string
Column sorting and filtering type
<static> sWidth :string
Width of the column
<static> sWidthOrig :string
Width of the column when it was first "encountered"
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> aDataSort :array

A list of the columns that sorting should occur on when this column +is sorted. That this property is an array allows multi-column sorting +to be defined for a column (for example first name / last name columns +would benefit from this). The values are integers pointing to the +columns to be sorted on (typically it will be a single integer pointing +at itself, but that doesn't need to be the case).

+ +
+
<static> asSorting :array

Define the sorting directions that are applied to the column, in sequence +as the column is repeatedly sorted upon - i.e. the first value is used +as the sorting direction when the column if first sorted (clicked on). +Sort it again (click again) and it will move on to the next index. +Repeat until loop.

+ +
+
<static> bSearchable :boolean

Flag to indicate if the column is searchable, and thus should be included +in the filtering or not.

+ +
+
<static> bSortable :boolean

Flag to indicate if the column is sortable or not.

+ +
+
<static> bUseRendered :boolean

When using fnRender, you have two options for what to do with the data, +and this property serves as the switch. Firstly, you can have the sorting +and filtering use the rendered value (true - default), or you can have +the sorting and filtering us the original value (false). +NOTE* It is it is advisable now to use mDataProp as a function and make +use of the 'type' that it gives, allowing (potentially) different data to +be used for sorting, filtering, display and type detection.

+
Deprecated
Yes
+
+
<static> bVisible :boolean

Flag to indicate if the column is currently visible in the table or not

+ +
+
<static> fnCreatedCell :function

Developer definable function that is called whenever a cell is created (Ajax source, +etc) or processed for input (DOM source). This can be used as a compliment to fnRender +allowing you to modify the DOM element (add background colour for example) when the +element is available (since it is not when fnRender is called).

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
nTdelementThe TD node that has been created
2
sData*The Data for the cell
3
oDataarray | objectThe data for the whole row
4
iRowintThe row index for the aoData data store
+
<static> fnGetData :function

Function to get data from a cell in a column. You should never +access data directly through _aData internally in DataTables - always use +the method attached to this property. It allows mDataProp to function as +required. This function is automatically assigned by the column +initialisation method

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oDataarray | objectThe data array/object for the array + (i.e. aoData[]._aData)
2
sSpecificstringThe specific data type you want to get - + 'display', 'type' 'filter' 'sort'
Returns:

The data for the cell from the given row's data

+
<static> fnRender :function

Custom display function that will be called for the display of each cell +in this column.

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oobjectObject with the following parameters:
o.iDataRowintThe row in aoData
o.iDataColumnintThe column in question
4
{arrayo.aData The data for the row in question
5
o.oSettingsobjectThe settings object for this DataTables instance
Returns:

The string you which to use in the display

+
<static> fnSetData :function

Function to set data for a cell in the column. You should never +set the data directly to _aData internally in DataTables - always use +this method. It allows mDataProp to function as required. This function +is automatically assigned by the column initialisation method

+ +
+
Parameters:
+ + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
1
oDataarray | objectThe data array/object for the array + (i.e. aoData[]._aData)
2
sValue*Value to set
+
<static> mDataProp :function|int|string|null

Property to read the value for the cells in the column from the data +source array / object. If null, then the default content is used, if a +function is given then the return from the function is used.

+ +
+
<static> nTf :node

Unique footer TH/TD element for this column (if there is one). Not used +in DataTables as such, but can be used for plug-ins to reference the +footer for each column.

+ +
+
<static> nTh :node

Unique header TH/TD element for this column - this is what the sorting +listener is attached to (if sorting is enabled.)

+ +
+
<static> sClass :string

The class to apply to all TD elements in the table's TBODY for the column

+ +
+
<static> sContentPadding :string

When DataTables calculates the column widths to assign to each column, +it finds the longest string in each column and then constructs a +temporary table and reads the widths from that. The problem with this +is that "mmm" is much wider then "iiii", but the latter is a longer +string - thus the calculation can go wrong (doing it properly and putting +it into an DOM object and measuring that is horribly(!) slow). Thus as +a "work around" we provide this option. It will append its value to the +text that is found to be the longest string for the column - i.e. padding.

+ +
+
<static> sDefaultContent :string

Allows a default value to be given for a column's data, and will be used +whenever a null data source is encountered (this can be because mDataProp +is set to null, or because the data source itself is null).

+ +
+
<static> sName :string

Name for the column, allowing reference to the column by name as well as +by index (needs a lookup to work by name).

+ +
+
<static> sSortDataType :string

Custom sorting data type - defines which of the available plug-ins in +afnSortData the custom sorting will use - if any is defined.

+ +
+
<static> sSortingClass :string

Class to be applied to the header element when sorting on this column

+ +
+
<static> sSortingClassJUI :string

Class to be applied to the header element when sorting on this column - +when jQuery UI theming is used.

+ +
+
<static> sTitle :string

Title of the column - what is seen in the TH element (nTh).

+ +
+
<static> sType :string

Column sorting and filtering type

+ +
+
<static> sWidth :string

Width of the column

+ +
+
<static> sWidthOrig :string

Width of the column when it was first "encountered"

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oRow.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oRow.html new file mode 100644 index 0000000..7de3c9f --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oRow.html @@ -0,0 +1,111 @@ + + + + + Namespace: oRow - documentation + + + + + + + + + +
+ + +
+

Namespace: oRow

+

Ancestry: DataTable » .models. » oRow

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Template object for the way in which DataTables holds information about +each individual row. This is the object format used for the settings +aoData array.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> nTr :node
TR element for the row
<static> _aData :array|object
Data object from the original data source for the row. This is either +an array if using the traditional form of DataTables, or an object if +using mDataProp options. The exact type will depend on the passed in +data from the data source, or will be an array if using DOM a data +source.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> nTr :node

TR element for the row

+ +
+
<static> _aData :array|object

Data object from the original data source for the row. This is either +an array if using the traditional form of DataTables, or an object if +using mDataProp options. The exact type will depend on the passed in +data from the data source, or will be an array if using DOM a data +source.

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSearch.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSearch.html new file mode 100644 index 0000000..3b9c14d --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSearch.html @@ -0,0 +1,112 @@ + + + + + Namespace: oSearch - documentation + + + + + + + + + +
+ + +
+

Namespace: oSearch

+

Ancestry: DataTable » .models. » oSearch

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Template object for the way in which DataTables holds information about +search information for the global filter and individual column filters.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> bCaseInsensitive :boolean
Flag to indicate if the filtering should be case insensitive or not
<static> bRegex :boolean
Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.
<static> bSmart :boolean
Flag to indicate if DataTables is to use its smart filtering or not.
<static> sSearch :string
Applied search term
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> bCaseInsensitive :boolean

Flag to indicate if the filtering should be case insensitive or not

+ +
+
<static> bRegex :boolean

Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.

+ +
+
<static> bSmart :boolean

Flag to indicate if DataTables is to use its smart filtering or not.

+ +
+
<static> sSearch :string

Applied search term

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.html new file mode 100644 index 0000000..8db20b0 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.html @@ -0,0 +1,517 @@ + + + + + Namespace: oSettings - documentation + + + + + + + + + +
+ + +
+

Namespace: oSettings

+

Ancestry: DataTable » .models. » oSettings

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

DataTables settings object - this holds all the information needed for a +given table, including configuration, data and current application of the +table options. DataTables does not have a single instance for each DataTable +with the settings attached to that instance, but rather instances of the +DataTable "class" are created on-the-fly as needed (typically by a +$().dataTable() call) and the settings object is then applied to that +instance.

Note that this object is related to DataTable.defaults but this +one is the internal data store for DataTables's cache of columns. It should +NOT be manipulated outside of DataTables. Any configuration should be done +through the initialisation options.

+ +
+ +
+ + +
+ +

Summary

+ +

Namespaces

+
+
oFeatures
Primary features of DataTables and their enablement state.
oLanguage
Language information for the table.
oPreviousSearch
Store the applied global search information in case we want to force a +research or compare the old search to a new one. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
oScroll
Scrolling settings for a table.
+

Properties

+ +
+
<static> aanFeatures :array
Array referencing the nodes which are used for the features. The +parameters of this object match what is allowed by sDom - i.e. +
    +
  • 'l' - Length changing
  • +
  • 'f' - Filtering input
  • +
  • 't' - The table!
  • +
  • 'i' - Information
  • +
  • 'p' - Pagination
  • +
  • 'r' - pRocessing
  • +
<static> aaSorting :array
Sorting that is applied to the table. Note that the inner arrays are +used in the following manner: +
    +
  • Index 0 - column number
  • +
  • Index 1 - current sorting direction
  • +
  • Index 2 - index of asSorting for this column
  • +
+Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> aaSortingFixed :array|null
Sorting that is always applied to the table (i.e. prefixed in front of +aaSorting). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> aiDisplay :array
Array of indexes which are in the current display (after filtering etc)
<static> aiDisplayMaster :array
Array of indexes for display - no filtering
<static> aLengthMenu :array
List of options that can be used for the user selectable length menu. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> aoColumns :array
Store information about each column that is in use
<static> aoData :array
Store data information - see DataTable.models.oRow for detailed +information.
<static> aoDestroyCallback :array
Destroy callback functions - for plug-ins to attach themselves to the +destroy so they can clean up markup and events.
<static> aoDrawCallback :array
Array of callback functions for draw callback functions
<static> aoFooter :array
Store information about the table's footer
<static> aoFooterCallback :array
Callback function for the footer on each draw.
<static> aoHeader :array
Store information about the table's header
<static> aoHeaderCallback :array
Callback functions for the header on each draw.
<static> aoInitComplete :array
Callback functions for when the table has been initialised.
<static> aoOpenRows :array
Information about open rows. Each object in the array has the parameters +'nTr' and 'nParent'
<static> aoPreDrawCallback :array
Callback functions for just before the table is redrawn. A return of +false will be used to cancel the draw.
<static> aoPreSearchCols :array
Store the applied search for each column - see +DataTable.models.oSearch for the format that is used for the +filtering information for each column.
<static> aoRowCallback :array
Callback functions array for every time a row is inserted (i.e. on a draw).
<static> aoRowCreatedCallback :array
Array of callback functions for row created function
<static> aoServerParams :array
Functions which are called prior to sending an Ajax request so extra +parameters can easily be sent to the server
<static> aoStateLoad :array
Array of callback functions for state loading. Each array element is an +object with the following parameters: +
    +
  • function:fn - function to call. Takes two parameters, oSettings + and the object stored. May return false to cancel state loading
  • +
  • string:sName - name of callback
  • +
<static> aoStateLoaded :array
Callbacks for operating on the settings object once the saved state has been +loaded
<static> aoStateLoadParams :array
Callbacks for modifying the settings that have been stored for state saving +prior to using the stored values to restore the state.
<static> aoStateSave :array
Array of callback functions for state saving. Each array element is an +object with the following parameters: +
    +
  • function:fn - function to call. Takes two parameters, oSettings + and the JSON string to save that has been thus far created. Returns + a JSON string to be inserted into a json object + (i.e. '"param": [ 0, 1, 2]')
  • +
  • string:sName - name of callback
  • +
<static> aoStateSaveParams :array
Callbacks for modifying the settings to be stored for state saving, prior to +saving state.
<static> asDataSearch :array
Search data array for regular expression searching
<static> asDestroyStripes :array
If restoring a table - we should restore its striping classes as well
<static> asStripeClasses :array
Classes to use for the striping of a table. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bAjaxDataGet :boolean
Note if draw should be blocked while getting data
<static> bDeferLoading :boolean
Indicate if when using server-side processing the loading of data +should be deferred until the second draw. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bDrawing :boolean
Indicate if a redraw is being done - useful for Ajax
<static> bFiltered :boolean
Flag attached to the settings object so you can check in the draw +callback if filtering has been done in the draw. Deprecated in favour of +events.
<static> bInitialised :boolean
Indicate if all required information has been read in
<static> bJUI :boolean
Flag to indicate if jQuery UI marking and classes should be used. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bSortCellsTop :boolean
Indicate that if multiple rows are in the header and there is more than +one unique cell per column, if the top one (true) or bottom one (false) +should be used for sorting / title by DataTables. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bSorted :boolean
Flag attached to the settings object so you can check in the draw +callback if sorting has been done in the draw. Deprecated in favour of +events.
<static> fnCookieCallback :function
Callback function for cookie creation. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> fnFormatNumber :function
Format numbers for display. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> fnServerData :function
Function to get the server-side data. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> iCookieDuration :int
The cookie duration (for bStateSave) in seconds. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> iDraw :int
Counter for the draws that the table does. Also used as a tracker for +server-side processing
<static> iDrawError :int
Draw index (iDraw) of the last error when parsing the returned data
<static> iTabIndex
tabindex attribute value that is added to DataTables control elements, allowing +keyboard navigation of the table and its controls.
<static> jqXHR :object
The last jQuery XHR object that was used for server-side data gathering. +This can be used for working with the XHR information in one of the +callbacks
<static> nScrollFoot
DIV container for the footer scrolling table if scrolling
<static> nScrollHead
DIV container for the footer scrolling table if scrolling
<static> nTable :node
The TABLE node for the main table
<static> nTableWrapper :node
Cache the wrapper node (contains all DataTables controlled elements)
<static> nTBody :node
Permanent ref to the tbody element
<static> nTFoot :node
Permanent ref to the tfoot element - if it exists
<static> nTHead :node
Permanent ref to the thead element
<static> oClasses :object
The classes to use for the table
<static> oInit :object
Initialisation object that is used for the table
<static> oInstance :object
The DataTables object for this table
<static> oLoadedState :object
State that was loaded from the cookie. Useful for back reference
<static> sAjaxDataProp :string
Property from a given object from which to read the table data from. This +can be an empty string (when not server-side processing), in which case +it is assumed an an array is given directly. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sAjaxSource :string
Source url for AJAX data for the table. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sCookiePrefix :string
The cookie name prefix. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sDestroyWidth :int
If restoring a table - we should restore its width
<static> sDom :string
Dictate the positioning of DataTables' control elements - see +DataTable.model.oInit.sDom. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sInstance :string
Unique identifier for each instance of the DataTables object. If there +is an ID on the table node, then it takes that value, otherwise an +incrementing internal counter is used.
<static> sPaginationType :string
Which type of pagination should be used. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sServerMethod :string
Send the XHR HTTP method - GET or POST (could be PUT or DELETE if +required). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sTableId :string
Cache the table ID for quick access
<static> _iDisplayLength :int
Paging display length
<static> _iDisplayStart :int
Paging start point - aiDisplay index
+

Methods

+ +
+
<static> fnDisplayEnd()
Set the display end point - aiDisplay index
<static> fnRecordsDisplay()
Get the number of records in the current record set, after filtering
<static> fnRecordsTotal()
Get the number of records in the current record set, before filtering
+
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> aanFeatures :array

Array referencing the nodes which are used for the features. The +parameters of this object match what is allowed by sDom - i.e. +

    +
  • 'l' - Length changing
  • +
  • 'f' - Filtering input
  • +
  • 't' - The table!
  • +
  • 'i' - Information
  • +
  • 'p' - Pagination
  • +
  • 'r' - pRocessing
  • +

+ +
+
<static> aaSorting :array

Sorting that is applied to the table. Note that the inner arrays are +used in the following manner: +

    +
  • Index 0 - column number
  • +
  • Index 1 - current sorting direction
  • +
  • Index 2 - index of asSorting for this column
  • +
+Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> aaSortingFixed :array|null

Sorting that is always applied to the table (i.e. prefixed in front of +aaSorting). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> aiDisplay :array

Array of indexes which are in the current display (after filtering etc)

+ +
+
<static> aiDisplayMaster :array

Array of indexes for display - no filtering

+ +
+
<static> aLengthMenu :array

List of options that can be used for the user selectable length menu. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> aoColumns :array

Store information about each column that is in use

+ +
+
<static> aoData :array

Store data information - see DataTable.models.oRow for detailed +information.

+ +
+
<static> aoDestroyCallback :array

Destroy callback functions - for plug-ins to attach themselves to the +destroy so they can clean up markup and events.

+ +
+
<static> aoDrawCallback :array

Array of callback functions for draw callback functions

+ +
+
<static> aoFooter :array

Store information about the table's footer

+ +
+
<static> aoFooterCallback :array

Callback function for the footer on each draw.

+ +
+
<static> aoHeader :array

Store information about the table's header

+ +
+
<static> aoHeaderCallback :array

Callback functions for the header on each draw.

+ +
+
<static> aoInitComplete :array

Callback functions for when the table has been initialised.

+ +
+
<static> aoOpenRows :array

Information about open rows. Each object in the array has the parameters +'nTr' and 'nParent'

+ +
+
<static> aoPreDrawCallback :array

Callback functions for just before the table is redrawn. A return of +false will be used to cancel the draw.

+ +
+
<static> aoPreSearchCols :array

Store the applied search for each column - see +DataTable.models.oSearch for the format that is used for the +filtering information for each column.

+ +
+
<static> aoRowCallback :array

Callback functions array for every time a row is inserted (i.e. on a draw).

+ +
+
<static> aoRowCreatedCallback :array

Array of callback functions for row created function

+ +
+
<static> aoServerParams :array

Functions which are called prior to sending an Ajax request so extra +parameters can easily be sent to the server

+ +
+
<static> aoStateLoad :array

Array of callback functions for state loading. Each array element is an +object with the following parameters: +

    +
  • function:fn - function to call. Takes two parameters, oSettings + and the object stored. May return false to cancel state loading
  • +
  • string:sName - name of callback
  • +

+ +
+
<static> aoStateLoaded :array

Callbacks for operating on the settings object once the saved state has been +loaded

+ +
+
<static> aoStateLoadParams :array

Callbacks for modifying the settings that have been stored for state saving +prior to using the stored values to restore the state.

+ +
+
<static> aoStateSave :array

Array of callback functions for state saving. Each array element is an +object with the following parameters: +

    +
  • function:fn - function to call. Takes two parameters, oSettings + and the JSON string to save that has been thus far created. Returns + a JSON string to be inserted into a json object + (i.e. '"param": [ 0, 1, 2]')
  • +
  • string:sName - name of callback
  • +

+ +
+
<static> aoStateSaveParams :array

Callbacks for modifying the settings to be stored for state saving, prior to +saving state.

+ +
+
<static> asDataSearch :array

Search data array for regular expression searching

+ +
+
<static> asDestroyStripes :array

If restoring a table - we should restore its striping classes as well

+ +
+
<static> asStripeClasses :array

Classes to use for the striping of a table. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bAjaxDataGet :boolean

Note if draw should be blocked while getting data

+ +
+
<static> bDeferLoading :boolean

Indicate if when using server-side processing the loading of data +should be deferred until the second draw. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bDrawing :boolean

Indicate if a redraw is being done - useful for Ajax

+ +
+
<static> bFiltered :boolean

Flag attached to the settings object so you can check in the draw +callback if filtering has been done in the draw. Deprecated in favour of +events.

+
Deprecated
Yes
+
+
<static> bInitialised :boolean

Indicate if all required information has been read in

+ +
+
<static> bJUI :boolean

Flag to indicate if jQuery UI marking and classes should be used. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bSortCellsTop :boolean

Indicate that if multiple rows are in the header and there is more than +one unique cell per column, if the top one (true) or bottom one (false) +should be used for sorting / title by DataTables. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bSorted :boolean

Flag attached to the settings object so you can check in the draw +callback if sorting has been done in the draw. Deprecated in favour of +events.

+
Deprecated
Yes
+
+
<static> fnCookieCallback :function

Callback function for cookie creation. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
+
<static> fnFormatNumber :function

Format numbers for display. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
+
<static> fnServerData :function

Function to get the server-side data. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
+
<static> iCookieDuration :int

The cookie duration (for bStateSave) in seconds. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> iDraw :int

Counter for the draws that the table does. Also used as a tracker for +server-side processing

+ +
+
<static> iDrawError :int

Draw index (iDraw) of the last error when parsing the returned data

+ +
+
<static> iTabIndex

tabindex attribute value that is added to DataTables control elements, allowing +keyboard navigation of the table and its controls.

+ +
+
<static> jqXHR :object

The last jQuery XHR object that was used for server-side data gathering. +This can be used for working with the XHR information in one of the +callbacks

+ +
+
<static> nScrollFoot

DIV container for the footer scrolling table if scrolling

+ +
+
<static> nScrollHead

DIV container for the footer scrolling table if scrolling

+ +
+
<static> nTable :node

The TABLE node for the main table

+ +
+
<static> nTableWrapper :node

Cache the wrapper node (contains all DataTables controlled elements)

+ +
+
<static> nTBody :node

Permanent ref to the tbody element

+ +
+
<static> nTFoot :node

Permanent ref to the tfoot element - if it exists

+ +
+
<static> nTHead :node

Permanent ref to the thead element

+ +
+
<static> oClasses :object

The classes to use for the table

+ +
+
<static> oInit :object

Initialisation object that is used for the table

+ +
+
<static> oInstance :object

The DataTables object for this table

+ +
+
<static> oLoadedState :object

State that was loaded from the cookie. Useful for back reference

+ +
+
<static> sAjaxDataProp :string

Property from a given object from which to read the table data from. This +can be an empty string (when not server-side processing), in which case +it is assumed an an array is given directly. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sAjaxSource :string

Source url for AJAX data for the table. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sCookiePrefix :string

The cookie name prefix. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sDestroyWidth :int

If restoring a table - we should restore its width

+ +
+
<static> sDom :string

Dictate the positioning of DataTables' control elements - see +DataTable.model.oInit.sDom. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sInstance :string

Unique identifier for each instance of the DataTables object. If there +is an ID on the table node, then it takes that value, otherwise an +incrementing internal counter is used.

+ +
+
<static> sPaginationType :string

Which type of pagination should be used. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sServerMethod :string

Send the XHR HTTP method - GET or POST (could be PUT or DELETE if +required). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sTableId :string

Cache the table ID for quick access

+ +
+
<static> _iDisplayLength :int

Paging display length

+ +
+
<static> _iDisplayStart :int

Paging start point - aiDisplay index

+ +
+
+

Methods

+
+
<static> fnDisplayEnd()

Set the display end point - aiDisplay index

+ +
+
+
<static> fnRecordsDisplay()

Get the number of records in the current record set, after filtering

+ +
+
+
<static> fnRecordsTotal()

Get the number of records in the current record set, before filtering

+ +
+
+ +
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oFeatures.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oFeatures.html new file mode 100644 index 0000000..ce02d70 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oFeatures.html @@ -0,0 +1,200 @@ + + + + + Namespace: oFeatures - documentation + + + + + + + + + +
+ + +
+

Namespace: oFeatures

+

Ancestry: DataTable » .models » .oSettings. » oFeatures

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Primary features of DataTables and their enablement state.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> bAutoWidth :boolean
Flag to say if DataTables should automatically try to calculate the +optimum table and columns widths (true) or not (false). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bDeferRender :boolean
Delay the creation of TR and TD elements until they are actually +needed by a driven page draw. This can give a significant speed +increase for Ajax source and Javascript source data, but makes no +difference at all fro DOM and server-side processing tables. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bFilter :boolean
Enable filtering on the table or not. Note that if this is disabled +then there is no filtering at all on the table, including fnFilter. +To just remove the filtering input use sDom and remove the 'f' option. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bInfo :boolean
Table information element (the 'Showing x of y records' div) enable +flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bLengthChange :boolean
Present a user control allowing the end user to change the page size +when pagination is enabled. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bPaginate :boolean
Pagination enabled or not. Note that if this is disabled then length +changing must also be disabled. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bProcessing :boolean
Processing indicator enable flag whenever DataTables is enacting a +user request - typically an Ajax request for server-side processing. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bServerSide :boolean
Server-side processing enabled flag - when enabled DataTables will +get all data from the server for every draw - there is no filtering, +sorting or paging done on the client-side. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bSort :boolean
Sorting enablement flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bSortClasses :boolean
Apply a class to the columns which are being sorted to provide a +visual highlight or not. This can slow things down when enabled since +there is a lot of DOM interaction. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bStateSave :boolean
State saving enablement flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> bAutoWidth :boolean

Flag to say if DataTables should automatically try to calculate the +optimum table and columns widths (true) or not (false). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bDeferRender :boolean

Delay the creation of TR and TD elements until they are actually +needed by a driven page draw. This can give a significant speed +increase for Ajax source and Javascript source data, but makes no +difference at all fro DOM and server-side processing tables. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bFilter :boolean

Enable filtering on the table or not. Note that if this is disabled +then there is no filtering at all on the table, including fnFilter. +To just remove the filtering input use sDom and remove the 'f' option. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bInfo :boolean

Table information element (the 'Showing x of y records' div) enable +flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bLengthChange :boolean

Present a user control allowing the end user to change the page size +when pagination is enabled. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bPaginate :boolean

Pagination enabled or not. Note that if this is disabled then length +changing must also be disabled. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bProcessing :boolean

Processing indicator enable flag whenever DataTables is enacting a +user request - typically an Ajax request for server-side processing. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bServerSide :boolean

Server-side processing enabled flag - when enabled DataTables will +get all data from the server for every draw - there is no filtering, +sorting or paging done on the client-side. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bSort :boolean

Sorting enablement flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bSortClasses :boolean

Apply a class to the columns which are being sorted to provide a +visual highlight or not. This can slow things down when enabled since +there is a lot of DOM interaction. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bStateSave :boolean

State saving enablement flag. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oLanguage.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oLanguage.html new file mode 100644 index 0000000..e399a50 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oLanguage.html @@ -0,0 +1,370 @@ + + + + + Namespace: oLanguage - documentation + + + + + + + + + +
+ + +
+

Namespace: oLanguage

+

Ancestry: DataTable » .models » .oSettings. » oLanguage

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Language information for the table.

+ +
+

Extends

+ + +
+ + +
+ +

Summary

+ +

Namespaces

+
+
oAria
Strings that are used for WAI-ARIA labels and controls only (these are not +actually visible on the page, but will be read by screenreaders, and thus +must be internationalised as well).
oPaginate
Pagination string used by DataTables for the two built-in pagination +control types ("two_button" and "full_numbers")
+

Properties

+ +
+
<static> fnInfoCallback :function
Information callback function. See +DataTable.defaults.fnInfoCallback
<static> sEmptyTable :string
This string is shown in preference to sZeroRecords when the table is +empty of data (regardless of filtering). Note that this is an optional +parameter - if it is not given, the value of sZeroRecords will be used +instead (either the default or given value).
<static> sInfo :string
This string gives information to the end user about the information that +is current on display on the page. The _START_, _END_ and _TOTAL_ +variables are all dynamically replaced as the table display updates, and +can be freely moved or removed as the language requirements change.
<static> sInfoEmpty :string
Display information string for when the table is empty. Typically the +format of this string should match sInfo.
<static> sInfoFiltered :string
When a user filters the information in a table, this string is appended +to the information (sInfo) to give an idea of how strong the filtering +is. The variable _MAX_ is dynamically updated.
<static> sInfoPostFix :string
If can be useful to append extra information to the info string at times, +and this variable does exactly that. This information will be appended to +the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are +being used) at all times.
<static> sInfoThousands :string
DataTables has a build in number formatter (fnFormatNumber) which is used +to format large numbers that are used in the table information. By +default a comma is used, but this can be trivially changed to any +character you wish with this parameter.
<static> sLengthMenu :string
Detail the action that will be taken when the drop down menu for the +pagination length option is changed. The '_MENU_' variable is replaced +with a default select list of 10, 25, 50 and 100, and can be replaced +with a custom select box if required.
<static> sLoadingRecords :string
When using Ajax sourced data and during the first draw when DataTables is +gathering the data, this message is shown in an empty row in the table to +indicate to the end user the the data is being loaded. Note that this +parameter is not used when loading data by server-side processing, just +Ajax sourced data with client-side processing.
<static> sProcessing :string
Text which is displayed when the table is processing a user action +(usually a sort command or similar).
<static> sSearch :string
Details the actions that will be taken when the user types into the +filtering input text box. The variable "_INPUT_", if used in the string, +is replaced with the HTML text box for the filtering input allowing +control over where it appears in the string. If "_INPUT_" is not given +then the input box is appended to the string automatically.
<static> sUrl :string
All of the language information can be stored in a file on the +server-side, which DataTables will look up if this parameter is passed. +It must store the URL of the language file, which is in a JSON format, +and the object has the same properties as the oLanguage object in the +initialiser object (i.e. the above parameters). Please refer to one of +the example language files to see how this works in action.
<static> sZeroRecords :string
Text shown inside the table records when the is no information to be +displayed after filtering. sEmptyTable is shown when there is simply no +information in the table at all (regardless of filtering).
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> fnInfoCallback :function

Information callback function. See +DataTable.defaults.fnInfoCallback

+ +
+
+
<static> sEmptyTable :string

This string is shown in preference to sZeroRecords when the table is +empty of data (regardless of filtering). Note that this is an optional +parameter - if it is not given, the value of sZeroRecords will be used +instead (either the default or given value).

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sEmptyTable": "No data available in table"
+       }
+     } );
+   } );
+
+
<static> sInfo :string

This string gives information to the end user about the information that +is current on display on the page. The _START_, _END_ and _TOTAL_ +variables are all dynamically replaced as the table display updates, and +can be freely moved or removed as the language requirements change.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfo": "Got a total of _TOTAL_ entries to show (_START_ to _END_)"
+       }
+     } );
+   } );
+
+
<static> sInfoEmpty :string

Display information string for when the table is empty. Typically the +format of this string should match sInfo.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoEmpty": "No entries to show"
+       }
+     } );
+   } );
+
+
<static> sInfoFiltered :string

When a user filters the information in a table, this string is appended +to the information (sInfo) to give an idea of how strong the filtering +is. The variable _MAX_ is dynamically updated.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoFiltered": " - filtering from _MAX_ records"
+       }
+     } );
+   } );
+
+
<static> sInfoPostFix :string

If can be useful to append extra information to the info string at times, +and this variable does exactly that. This information will be appended to +the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are +being used) at all times.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoPostFix": "All records shown are derived from real information."
+       }
+     } );
+   } );
+
+
<static> sInfoThousands :string

DataTables has a build in number formatter (fnFormatNumber) which is used +to format large numbers that are used in the table information. By +default a comma is used, but this can be trivially changed to any +character you wish with this parameter.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sInfoThousands": "'"
+       }
+     } );
+   } );
+
+
<static> sLengthMenu :string

Detail the action that will be taken when the drop down menu for the +pagination length option is changed. The '_MENU_' variable is replaced +with a default select list of 10, 25, 50 and 100, and can be replaced +with a custom select box if required.

+ +
+
Extended from:
Examples
+
+
   // Language change only
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLengthMenu": "Display _MENU_ records"
+       }
+     } );
+   } );
+   
+ 
+
+ +
+
   // Language and options change
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLengthMenu": 'Display  records'
+       }
+     } );
+   } );
+
+
<static> sLoadingRecords :string

When using Ajax sourced data and during the first draw when DataTables is +gathering the data, this message is shown in an empty row in the table to +indicate to the end user the the data is being loaded. Note that this +parameter is not used when loading data by server-side processing, just +Ajax sourced data with client-side processing.

+ +
+
Extended from:
Example
+
+
   $(document).ready( function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sLoadingRecords": "Please wait - loading..."
+       }
+     } );
+   } );
+
+
<static> sProcessing :string

Text which is displayed when the table is processing a user action +(usually a sort command or similar).

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sProcessing": "DataTables is currently busy"
+       }
+     } );
+   } );
+
+
<static> sSearch :string

Details the actions that will be taken when the user types into the +filtering input text box. The variable "_INPUT_", if used in the string, +is replaced with the HTML text box for the filtering input allowing +control over where it appears in the string. If "_INPUT_" is not given +then the input box is appended to the string automatically.

+ +
+
Extended from:
Examples
+
+
   // Input text box will be appended at the end automatically
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sSearch": "Filter records:"
+       }
+     } );
+   } );
+   
+ 
+
+ +
+
   // Specify where the filter should appear
+   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sSearch": "Apply filter _INPUT_ to table"
+       }
+     } );
+   } );
+
+
<static> sUrl :string

All of the language information can be stored in a file on the +server-side, which DataTables will look up if this parameter is passed. +It must store the URL of the language file, which is in a JSON format, +and the object has the same properties as the oLanguage object in the +initialiser object (i.e. the above parameters). Please refer to one of +the example language files to see how this works in action.

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sUrl": "http://www.sprymedia.co.uk/dataTables/lang.txt"
+       }
+     } );
+   } );
+
+
<static> sZeroRecords :string

Text shown inside the table records when the is no information to be +displayed after filtering. sEmptyTable is shown when there is simply no +information in the table at all (regardless of filtering).

+ +
+
Extended from:
Example
+
+
   $(document).ready(function() {
+     $('#example').dataTable( {
+       "oLanguage": {
+         "sZeroRecords": "No records to display"
+       }
+     } );
+   } );
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oPreviousSearch.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oPreviousSearch.html new file mode 100644 index 0000000..c180724 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oPreviousSearch.html @@ -0,0 +1,118 @@ + + + + + Namespace: oPreviousSearch - documentation + + + + + + + + + +
+ + +
+

Namespace: oPreviousSearch

+

Ancestry: DataTable » .models » .oSettings. » oPreviousSearch

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Store the applied global search information in case we want to force a +research or compare the old search to a new one. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+

Extends

+ + +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> bCaseInsensitive :boolean
Flag to indicate if the filtering should be case insensitive or not
<static> bRegex :boolean
Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.
<static> bSmart :boolean
Flag to indicate if DataTables is to use its smart filtering or not.
<static> sSearch :string
Applied search term
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> bCaseInsensitive :boolean

Flag to indicate if the filtering should be case insensitive or not

+ +
+
Extended from:
<static> bRegex :boolean

Flag to indicate if the search term should be interpreted as a +regular expression (true) or not (false) and therefore and special +regex characters escaped.

+ +
+
Extended from:
<static> bSmart :boolean

Flag to indicate if DataTables is to use its smart filtering or not.

+ +
+
Extended from:
<static> sSearch :string

Applied search term

+ +
+
Extended from:
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oScroll.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oScroll.html new file mode 100644 index 0000000..c734356 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/DataTable.models.oSettings.oScroll.html @@ -0,0 +1,167 @@ + + + + + Namespace: oScroll - documentation + + + + + + + + + +
+ + +
+

Namespace: oScroll

+

Ancestry: DataTable » .models » .oSettings. » oScroll

+
+ DataTables v1.9.1 documentation +
+
+ + + +
+

Navigation

+ +
+ + Hiding private elements + (toggle) + +
+
+ + Showing extended elements + (toggle) + +
+
+ +
+ +
+ +

Scrolling settings for a table.

+ +
+ +
+ + +
+ +

Summary

+ +

Properties

+ +
+
<static> bAutoCss :boolean
Indicate if DataTables should be allowed to set the padding / margin +etc for the scrolling header elements or not. Typically you will want +this. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bCollapse :boolean
When the table is shorter in height than sScrollY, collapse the +table container down to the height of the table (when true). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> bInfinite :boolean
Infinite scrolling enablement flag. Now deprecated in favour of +using the Scroller plug-in. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> iBarWidth :int
Width of the scrollbar for the web-browser's platform. Calculated +during table initialisation.
<static> iLoadGap :int
Space (in pixels) between the bottom of the scrolling container and +the bottom of the scrolling viewport before the next page is loaded +when using infinite scrolling. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sX :string
Viewport width for horizontal scrolling. Horizontal scrolling is +disabled if an empty string. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sXInner :string
Width to expand the table to when using x-scrolling. Typically you +should not need to use this. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
<static> sY :string
Viewport height for vertical scrolling. Vertical scrolling is disabled +if an empty string. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.
+
+
+ + + + +
+ +

Details

+

Properties

+
+
<static> bAutoCss :boolean

Indicate if DataTables should be allowed to set the padding / margin +etc for the scrolling header elements or not. Typically you will want +this. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bCollapse :boolean

When the table is shorter in height than sScrollY, collapse the +table container down to the height of the table (when true). +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> bInfinite :boolean

Infinite scrolling enablement flag. Now deprecated in favour of +using the Scroller plug-in. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> iBarWidth :int

Width of the scrollbar for the web-browser's platform. Calculated +during table initialisation.

+ +
+
<static> iLoadGap :int

Space (in pixels) between the bottom of the scrolling container and +the bottom of the scrolling viewport before the next page is loaded +when using infinite scrolling. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sX :string

Viewport width for horizontal scrolling. Horizontal scrolling is +disabled if an empty string. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
<static> sXInner :string

Width to expand the table to when using x-scrolling. Typically you +should not need to use this. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+
Deprecated
Yes
+
+
<static> sY :string

Viewport height for vertical scrolling. Vertical scrolling is disabled +if an empty string. +Note that this parameter will be set by the initialisation routine. To +set a default use DataTable.defaults.

+ +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/index.html b/src/main/resources/web/scripts/DataTables-1.9.1/docs/index.html new file mode 100644 index 0000000..419d010 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/index.html @@ -0,0 +1,46 @@ + + + + + Table of Contents - documentation + + + + + + + + + +
+ +
+
+ +
+

Table of Contents

+
+
DataTable
DataTables is a plug-in for the jQuery Javascript library. It is a +highly flexible tool, based upon the foundations of progressive +enhancement, which will add advanced interaction controls to any +HTML table. For a full list of features please refer to +DataTables.net.

Note that the DataTable object is not a global variable but is +aliased to jQuery.fn.DataTable and jQuery.fn.dataTable through which +it may be accessed.
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/doc.css b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/doc.css new file mode 100644 index 0000000..aa39f09 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/doc.css @@ -0,0 +1,316 @@ +/* +Copyright (c) 2006, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 0.12.0 +*/ +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;} +table{border-collapse:collapse;border-spacing:0;} +fieldset,img{border:0;} +address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;} +ol,ul {list-style:none;} +caption,th {text-align:left;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +q:before,q:after{content:'';} +abbr,acronym {border:0;} + + +html, body { + margin: 0; + padding: 0; + width: 100%; + font: 14px/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; + color: #111; +} + +div.fw_container { + width: 980px; + padding-top: 2em; + margin: 0 auto; +} + +div.fw_header { + position: relative; +} + +div.fw_content { + padding-top: 2em; +} + +div.fw_footer { + padding-top: 4em; + font-size: 75%; + text-align: center; +} + + + +.type-param { + +} + +.type-attr { + float: right; + color: #999; +} + +.type-name { + font-weight: bold; +} + +.type-sig { + color: #999; +} + +.type-param { + color: #FF9999; +} + +.type-return { + color: #FF8080; +} + +.type-brace { + color: #111; +} + +.example-code { + margin-left: 30px; +} +.example-code td.code { + border-top: 1px solid #4E6CA3 !important; +} + +.type-augmented { + position: absolute; + left: 8px; + top: 0; +} + +dt, dd { + padding: 0.4em 10px; +} + +dt { + padding-bottom: 0 !important; +} + +dd { + position: relative; + padding-top: 0 !important; + padding-left: 3em; +} + +dt.even, dd.even { + background-color: white; +} + +dt.odd, dd.odd { + background-color: #F2F2F2; +} + +div.doc_overview dd, div.doc_overview dt { + padding-left: 0 !important; +} + + + +.doc_details dt, .doc_details dd { + padding: 1em 10px; +} + +.right_border div { + width: 20px; + padding: 2px 0.5em 2px 1em; + text-align: right; +} +.right_border { + border-right: 3px solid #4E6CA3; +} +.bottom_border { + border-bottom: 1px solid #4E6CA3; +} + + +a { + text-decoration: none; + color: #4E6CA3; +} + +a:hover { + text-decoration: underline; + cursor: pointer; + *cursor: hand; +} + +div.fw_content ul { + list-style-image: url('../images/arrow.jpg'); + padding: 0.5em 0 0.5em 2em; +} + +/* +h2 { + font-size: 1.4em; + margin-top: 2em; + border-bottom: 3px solid #829ac6; + padding-left: 5px; +} + +h3 { + font-size: 1.2em; + margin-top: 1em; + border-bottom: 1px solid #A4B5D5; + padding-left: 5px; +} +*/ + +h1 { + font-size: 2em; +} + +h2 { + font-size: 1.6em; + padding-top: 5px; +} + +h2.ancestors { + font-size: 14px; + margin: 0; +} + +h3 { + font-size: 1.3em; + padding-top: 5px; + margin-bottom: 5px; +} + +h5 { + padding-top: 6px; +} + +div.doc_summary, div.doc_details { + margin-top: 2em; + clear: both; +} + +div.doc_group { + margin-top: 1em; + border-top: 1px solid #A4B5D5; + border-left: 1px solid #A4B5D5; + padding-left: 10px; +} + +div.extended { + margin-left: 30px; +} + +table.params { + margin-left: 30px; + width: 97%; +} + +tr.odd { + background-color: white; +} + +tr.even { + background-color: #F8F8F8; +} + +th.name, +td.name { + padding-left: 13px; +} + +td.number { + background-color: white; + color: #5C5C5C; +} + +dd.odd td.number { + background-color: #F2F2F2; +} + +p.returns { + margin-left: 5%; +} + +div.page-info { + position: absolute; + top: 0; + right: 0; +} + + +.private { + display: none; +} + + + + +div.fw_nav { + position: fixed; + top: 60px; + right: 30px; + width: 250px; + border: 1px solid #A4B5D5; + background-color: white; + padding: 10px; + z-index: 1001; + font-size: 12px; + overflow: hidden; +} + +div.fw_nav h2 { + margin: -10px 0 10px -10px; + width: 250px; + padding: 5px 10px; + background-color: #A4B5D5; + font-size: 12px; + cursor: pointer; + *cursor: hand; +} + +div.fw_nav ul>li>div { + padding: 0 0 0 1em; +} + +div.nav_blocker { + float: right; +} + + + + + + + +.css_clear { + clear: both; + height: 0; + line-height: 0; + visibility: hidden; +} + +.css_right { + text-align: right; +} + +.css_center { + text-align: center; +} + +.css_spacing { + margin-top: 1.5em; +} + +.css_small { + font-size: 75%; + line-height: 1.45em; +} + +.css_vsmall { + font-size: 65%; + line-height: 1.45em; +} diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shCore.css b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shCore.css new file mode 100644 index 0000000..b0c4520 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shCore.css @@ -0,0 +1,226 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas","Monaco","Bitstream Vera Sans Mono","Courier New",Courier,monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 2px 0.5em 2px 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 2px 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shThemeDataTables.css b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shThemeDataTables.css new file mode 100644 index 0000000..7e9790a --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/css/shThemeDataTables.css @@ -0,0 +1,128 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: white !important; + font-size: 14px !important; + overflow: visible !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #F8F8F8 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #e0e0e0 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: black !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { +} +.syntaxhighlighter .gutter div { + color: #5C5C5C !important; + width: 20px !important; +} +.syntaxhighlighter .gutter .line.alt1, .syntaxhighlighter .gutter .line.alt2 { + background-color: white !important; +} +.odd .syntaxhighlighter .gutter .line.alt1, .odd .syntaxhighlighter .gutter .line.alt2 { + background-color: #F2F2F2 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #4E6CA3 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #4E6CA3 !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: blue !important; + background: white !important; + border: 1px solid #4E6CA3 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: blue !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #4E6CA3 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: black !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #008200 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: blue !important; +} +.syntaxhighlighter .keyword { + color: #006699 !important; +} +.syntaxhighlighter .preprocessor { + color: gray !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #006699 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/images/arrow.jpg b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/images/arrow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eba85eac52dfcf2f41fab61010a4369f31047b2c GIT binary patch literal 430 zcmex=C5UDGKfoZ!!NAVI!OSSgz$D1XEXer(2tyjs z*{FaEXcMXkE4u*DziiA%!mLbU%)%@pZ0v$UqT+%KjLa;IEX;6Sj7&nzf{MZ{%8p7- zLCzv<|8Fty0Ch77G7B=;GbC+!_^Ug@C z%#_@~E6&Dtm;Xtx%#@#3LeKtu@SkCqQmjc+S>eK+W_7~r^DHO&RpyFJncV4TDIc}v b@Mo5J2UK$B>=%|_)ymy_Y26A@lm9mXKU1-}@6jtMAnBe|UXtxZq+{$dUw6?As%dWN9iDTKVyDBrb*P22{Wa%ariF7qd zsqHXGmKF9>!q%s5Z|lpTTNx{bl9H}V+rV7}1_f!l?9!54Oq9Ij}(#tbH z(m++B^chZsqLDx)^~9Koa%25@d2CpYD0EK@bXRyHpdniV6>UVf_)3&s)8$F*EHgA% zgV@7Sdfik(%zy+o5#apLC&Lf~A=b}!1;gR+Q4oMEWMF_{13os)cLjI|!Nx!iAolLt)#ySUCOm0?tT8QT>i^YE$jUJa9e(-U1K{Cs0i@x#Zl>hBlgr%xZaMuCYZW0_NvRz?{h@$A?4j9l)~xDs3F{rvfI{Rh{P zJJn}zEZkgNJe!){zgGDE z)~)uDqmPz;nQ0t3eE9A=H?Ci2C+0G@1Gs*>!ExN7cctR2Yvp9i&R0&l5B^rG)f&@J zpIrIKGjV5?@p|u5ZP)g6#=cthc-;dBzrA|(!OCCHh793;aB>ww>E6ziX9`kpy$PpU zT3S{P(J`vFJJLPTdX9QJ_tR&cUGM+>=hUwcFEbu6F1x6u%RevFzR68GKaO;=U-+(X GVDev$t&%?g literal 0 HcmV?d00001 diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/doc.js b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/doc.js new file mode 100644 index 0000000..932d7cf --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/docs/media/js/doc.js @@ -0,0 +1,121 @@ + +(function() { + +var showingNav = true; + +$(document).ready( function () { + var jqNav = $('div.fw_nav'); + jqNav.css('right', ($(window).width() - $('div.fw_container').width()) /2); + + var n = $('div.nav_blocker')[0]; + n.style.height = $(jqNav).outerHeight()+"px"; + n.style.width = ($(jqNav).outerWidth()+20)+"px"; + + SyntaxHighlighter.highlight(); + + $('#private_toggle').click( function () { + if ( $('input[name=show_private]').val() == 0 ) { + $('input[name=show_private]').val( 1 ); + $('#private_label').html('Showing'); + $('.private').css('display', 'block'); + } else { + $('input[name=show_private]').val( 0 ); + $('#private_label').html('Hiding'); + $('.private').css('display', 'none'); + } + fnWriteCookie(); + return false; + } ); + + $('#extended_toggle').click( function () { + if ( $('input[name=show_extended]').val() == 0 ) { + $('input[name=show_extended]').val( 1 ); + $('#extended_label').html('Showing'); + $('.augmented').css('display', 'block'); + } else { + $('input[name=show_extended]').val( 0 ); + $('#extended_label').html('Hiding'); + $('.augmented').css('display', 'none'); + } + fnWriteCookie(); + return false; + } ); + + var savedHeight = $(jqNav).height(); + $('div.fw_nav h2').click( function () { + if ( showingNav ) { + $('div.fw_nav').animate( { + "height": 10, + "opacity": 0.3 + } ); + showingNav = false; + } else { + $('div.fw_nav').animate( { + "height": savedHeight, + "opacity": 1 + } ); + showingNav = true; + } + fnWriteCookie(); + } ); + + var cookie = fnReadCookie( 'SpryMedia_JSDoc' ); + if ( cookie != null ) { + var a = cookie.split('-'); + if ( a[0] == 1 ) { + $('#private_toggle').click(); + } + if ( a[1] == 0 ) { + $('#extended_toggle').click(); + } + if ( a[2] == 'false' ) { + $('div.fw_nav').css('height', 10).css('opacity', 0.3); + showingNav = false; + } + } +} ); + + +function fnWriteCookie() +{ + var sVal = + $('input[name=show_private]').val()+'-'+ + $('input[name=show_extended]').val()+'-'+ + showingNav; + + fnCreateCookie( 'SpryMedia_JSDoc', sVal ); +} + + +function fnCreateCookie( sName, sValue ) +{ + var iDays = 365; + var date = new Date(); + date.setTime( date.getTime()+(iDays*24*60*60*1000) ); + var sExpires = "; expires="+date.toGMTString(); + + document.cookie = sName+"="+sValue+sExpires+"; path=/"; +} + + +function fnReadCookie( sName ) +{ + var sNameEQ = sName + "="; + var sCookieContents = document.cookie.split(';'); + + for( var i=0 ; i)[^>]*$|#([\w\-]+)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.5.1", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, + script = document.createElement( "script" ); + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + // We have to add a catch block for + // IE prior to 8 or else the finally + // block will never get executed + catch (e) { + throw e; + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var lastIndex = arguments.length, + deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(); + + if ( lastIndex > 1 ) { + var array = slice.call( arguments, 0 ), + count = lastIndex, + iCallback = function( index ) { + return function( value ) { + array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( promise, array ); + } + }; + }; + while( ( lastIndex-- ) ) { + object = array[ lastIndex ]; + if ( object && jQuery.isFunction( object.promise ) ) { + object.promise().then( iCallback(lastIndex), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( promise, array ); + } + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return jQuery; + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ), + input = div.getElementsByTagName("input")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: input.value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + noCloneEvent: true, + noCloneChecked: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + input.checked = true; + jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + var _scriptEval = null; + jQuery.support.scriptEval = function() { + if ( _scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + _scriptEval = true; + delete window[ id ]; + } else { + _scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return _scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
"; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
t
"; + var tds = div.getElementsByTagName("td"); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + tds[0].style.display = ""; + tds[1].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) + // Minor release fix for bug #8018 + try { + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + } + catch ( e ) {} + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery._data( elem, "handle" ); + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, "events"); + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + + // Chrome does something similar, the parentNode property + // can be accessed but is null. + if ( parent !== document && !parent.parentNode ) { + return; + } + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return "text" === elem.getAttribute( 'type' ); + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + + + +
+
+ DataTables with column rendering +
+ +

Preamble

+

You may specify a function for each column to render the available data in a specific manner which will be called when the table is drawn. In this example I've appended the rendering engine version to the rendering engine name in the first column, and hidden the version column.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet Explorer 4.0Win 95+4X
TridentInternet Explorer 5.0Win 95+5C
TridentInternet Explorer 5.5Win 95+5.5A
TridentInternet Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumnDefs": [ 
+			{
+				"fnRender": function ( oObj, sVal ) {
+					return sVal +' '+ oObj.aData[3];
+				},
+				"aTargets": [ 0 ]
+			},
+			{ "bVisible": false,  "aTargets": [ 3 ] },
+			{ "sClass": "center", "aTargets": [ 4 ] }
+		]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/complex_header.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/complex_header.html new file mode 100644 index 0000000..f659308 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/complex_header.html @@ -0,0 +1,615 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables complex header example (rowspan and colspan) +
+ +

Preamble

+

Complex headers (using colspan / rowspan) can be used to group columns of similar information in DataTables, creating a very powerful visual effect. In addition to the basic behaviour, DataTables can also take colspan and rowspans into account when working with hidden columns. The colspan and rowspan attributes for each cell are automatically calculated and rendered on the page for you. This also allows the ColVis extra for DataTables to work great with hidden columns.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserDetails
Platform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Details
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [2] }
+		]
+	} );
+} );
+ + + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/defaults.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/defaults.html new file mode 100644 index 0000000..6bc0a69 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/defaults.html @@ -0,0 +1,612 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables - setting defaults example +
+ +

Preamble

+

When working with DataTables over multiple pages it is often useful to set the initialisation defaults to common values (for example you might want to set sDom to a common value so all tables get the same layout). This can be done using the $.fn.dataTable.defaults object. This object will take all the same parameters as the DataTables initialisation object, but in this case you are setting the default for all future initialisations of DataTables.

+ +

This example shows the filtering and sorting features of DataTables being disabled by default, which is reflected in the table when it is initialised, as can be seen below.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$.extend( $.fn.dataTable.defaults, {
+		"bFilter": false,
+		"bSort": false
+	} );
+
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_multiple_elements.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_multiple_elements.html new file mode 100644 index 0000000..6bc3611 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_multiple_elements.html @@ -0,0 +1,611 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables DOM positioning - multiple instances example +
+ +

Preamble

+

As is described by the basic DOM positioning example you can use the sDom initialisation parameter to move DataTables features around the table to where you want them. However you can also use sDom to create multiple instances of these table controls. Simply include the feature's identification letter where you want it to appear, as many times as you wish, and the controls will all sync up.

+

This is shown in the demo below where for four key build-in features are duplicated above and below the table. Note that obviously the table ('t') should be included only once.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Trident + Internet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>'
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_toolbar.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_toolbar.html new file mode 100644 index 0000000..b428917 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dom_toolbar.html @@ -0,0 +1,616 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables Custom DOM additions +
+ +

Preamble

+

DataTables inserts DOM elements around the table to control DataTables features, and you can make use of this mechanism as well to insert your own custom elements. In this example a DIV with a class of 'toolbar' is created using sDom, and then HTML is inserted into the created DIV once the table has been initialised. You could put whatever HTML you want into the toolbar and add event handlers etc.

+

For more complex DOM manipulation around the table, you might want to consider making use of DataTables feature plug-in API, which is used for TableTools and other DataTables plug-ins.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Trident + Internet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '<"toolbar">frtip'
+	} );
+	$("div.toolbar").html('Custom tool bar! Text/images etc.');
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dt_events.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dt_events.html new file mode 100644 index 0000000..7be582c --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/dt_events.html @@ -0,0 +1,622 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables | events example +
+ +

Preamble

+

DataTables can fire a number of custom events which you can bind to, allowing your code to perform custom actions when the events occured. This example shows the use of the sort, filter and page events and will add a nitofication that the event fired to an element on the page to show that they have indeed fired.

+ +

Live example

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
function eventFired( type ) {
+	var n = document.getElementById('demo_info');
+	n.innerHTML += '<:div>:'+type+' event - '+new Date().getTime()+'<:/div>:';
+	n.scrollTop = n.scrollHeight;		
+}
+
+$(document).ready(function() {
+	$('#example')
+		.bind('sort',   function () { eventFired( 'Sort' ); })
+		.bind('filter', function () { eventFired( 'Filter' ); })
+		.bind('page',   function () { eventFired( 'Page' ); })
+		.dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_live.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_live.html new file mode 100644 index 0000000..c87a719 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_live.html @@ -0,0 +1,644 @@ + + + + + + + DataTables example + + + + + + + +
+
+ DataTables - live events example +
+ +

Preamble

+

Events assigned to the table can be exceptionally useful for user interaction, however you must be aware that DataTables will add and remove rows from the DOM as they are needed (i.e. when paging only the visible elements are actually available in the DOM). As such, this can lead to the odd hiccup when working with events. One of the best ways of dealing with this is through the use of live events, as shown in this example.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	/* Init DataTables */
+	$('#example').dataTable();
+	
+	/* Add events */
+	$('#example tbody tr').live('click', function () {
+		var sTitle;
+		var nTds = $('td', this);
+		var sBrowser = $(nTds[1]).text();
+		var sGrade = $(nTds[4]).text();
+		
+		if ( sGrade == "A" )
+			sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+		else if ( sGrade == "C" )
+			sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+		else if ( sGrade == "X" )
+			sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+		else
+			sTitle = sBrowser+' will provide an undefined level of CSS support.';
+		
+		alert( sTitle )
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_post_init.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_post_init.html new file mode 100644 index 0000000..e0ec081 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_post_init.html @@ -0,0 +1,667 @@ + + + + + + + DataTables example + + + + + + + +
+
+ DataTables events (post-initialisation) example +
+ +

Preamble

+

Events which are assigned to the table elements are retained by DataTables such that they will still work as you would expect, even after changing the sort order etc. (no need to reapply the event handlers). You can do this at any time, although if you apply the handlers after the table has been initialised there is an extra set. Rather then querying the DOM to get all rows (since they aren't there) you can use the '$' API method that DataTables provides which does a jQuery selector on the whole table and returns a jQuery object.

+

This example shows the tooltip plug-in being applied to the table after initialisation.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	/*
+	 * First step is to create title attributes for the rows in the table
+	 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+	 * DOM 
+	 */
+	$('#example tbody tr').each( function() {
+		var sTitle;
+		var nTds = $('td', this);
+		var sBrowser = $(nTds[1]).text();
+		var sGrade = $(nTds[4]).text();
+		
+		if ( sGrade == "A" )
+			sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+		else if ( sGrade == "C" )
+			sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+		else if ( sGrade == "X" )
+			sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+		else
+			sTitle = sBrowser+' will provide an undefined level of CSS support.';
+		
+		this.setAttribute( 'title', sTitle );
+	} );
+	
+	/* Init DataTables */
+	var oTable = $('#example').dataTable();
+	
+	/* Apply the tooltips */
+	oTable.$('tr').tooltip( {
+		"delay": 0,
+		"track": true,
+		"fade": 250
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_pre_init.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_pre_init.html new file mode 100644 index 0000000..abcf26a --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/events_pre_init.html @@ -0,0 +1,666 @@ + + + + + + + DataTables example + + + + + + + +
+
+ DataTables events (pre-initialisation) example +
+ +

Preamble

+

Events which are assigned to the table elements are retained by DataTables such that they will still work as you would expect, even after changing the sort order etc. (no need to reapply the event handlers). If you apply the event handlers before you initialise DataTables, you just do this in the normal way. This is shown in this example where the call $('#example tbody tr[title]').tooltip(); is made before the table is initialised.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	/*
+	 * First step is to create title attributes for the rows in the table
+	 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+	 * DOM 
+	 */
+	$('#example tbody tr').each( function() {
+		var sTitle;
+		var nTds = $('td', this);
+		var sBrowser = $(nTds[1]).text();
+		var sGrade = $(nTds[4]).text();
+		
+		if ( sGrade == "A" )
+			sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+		else if ( sGrade == "C" )
+			sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+		else if ( sGrade == "X" )
+			sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+		else
+			sTitle = sBrowser+' will provide an undefined level of CSS support.';
+		
+		this.setAttribute( 'title', sTitle );
+	} );
+	
+	/* Apply the tooltips */
+	$('#example tbody tr[title]').tooltip( {
+		"delay": 0,
+		"track": true,
+		"fade": 250
+	} );
+	
+	/* Init DataTables */
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/footer_callback.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/footer_callback.html new file mode 100644 index 0000000..5a61701 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/footer_callback.html @@ -0,0 +1,650 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables footer callback example +
+ +

Preamble

+

DataTables using the header and footer callback manipulation functions (fnHeaderCallback() and fnFooterCallback()) you can perform some powerful and useful data manipulation. The example given below shows how a callback function can be used to total up visible (and hidden) data, taking into account all of DataTable's features (pagination, filtering etc).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserEngine versionCSS gradeMarket share (%)
Trident + Internet + Explorer + 4.0 + 4X0.01
TridentInternet + Explorer 5.05C0.1
TridentInternet + Explorer 5.55.5A0.5
TridentInternet + Explorer 66A36
TridentInternet Explorer 77A41
TridentAOL browser (AOL desktop)6A1
GeckoFirefox 1.01.7A0.1
GeckoFirefox 1.51.8A0.5
GeckoFirefox 2.01.8A7
GeckoFirefox 3.01.9A9
GeckoCamino 1.01.8A0.01
GeckoCamino 1.51.8A0.01
GeckoNetscape 7.21.7A0.01
GeckoNetscape Browser 81.7A0.01
GeckoNetscape Navigator 91.8A0.01
GeckoMozilla 1.01A0.01
GeckoMozilla 1.11.1A0.01
GeckoMozilla 1.21.2A0.01
GeckoMozilla 1.31.3A0.01
GeckoMozilla 1.41.4A0.01
GeckoMozilla 1.51.5A0.01
GeckoMozilla 1.61.6A0.01
GeckoMozilla 1.71.7A0.01
GeckoMozilla 1.81.8A0.01
GeckoSeamonkey 1.11.8A0.01
GeckoEpiphany 2.201.8A0.01
WebkitSafari 1.2125.5A0.01
WebkitSafari 1.3312.8A0.01
WebkitSafari 2.0419.3A1
WebkitSafari 3.0522.1A2.2
WebkitOmniWeb 5.5420A0.01
WebkitiPod Touch / iPhone420.1A0.05
WebkitS60413A0.01
PrestoOpera 7.0-A0.01
PrestoOpera 7.5-A0.01
PrestoOpera 8.0-A0.01
PrestoOpera 8.5-A0.01
PrestoOpera 9.0-A0.1
PrestoOpera 9.2-A0.2
PrestoOpera 9.5-A0.8
PrestoOpera for Wii-A0.01
PrestoNokia N800-A0.01
PrestoNintendo DS browser8.5C/A10.01
KHTMLKonqureror 3.13.1C0.01
KHTMLKonqureror 3.33.3A0.01
KHTMLKonqureror 3.53.5A0.01
TasmanInternet Explorer 4.5-X0.01
TasmanInternet Explorer 5.11C0.01
TasmanInternet Explorer 5.21C0.01
MiscNetFront 3.1-C0.01
MiscNetFront 3.4-A0.01
MiscDillo 0.8-X0.01
MiscLinks-X0.01
MiscLynx-X0.01
MiscIE Mobile-C0.01
MiscPSP browser-C0.01
Other browsersAll others-U0.04
Total:
+
+
+ +

Warning! The market share information given in this table is fabricated using a combination of (mild) judgement, the BBC Browser Statistics information and statistics from TheCounter.com. THe lowest usage given to anyone browser is 0.01 for reasons of this example.

+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
+			/*
+			 * Calculate the total market share for all browsers in this table (ie inc. outside
+			 * the pagination)
+			 */
+			var iTotalMarket = 0;
+			for ( var i=0 ; i<aaData.length ; i++ )
+			{
+				iTotalMarket += aaData[i][4]*1;
+			}
+			
+			/* Calculate the market share for browsers on this page */
+			var iPageMarket = 0;
+			for ( var i=iStart ; i<iEnd ; i++ )
+			{
+				iPageMarket += aaData[ aiDisplay[i] ][4]*1;
+			}
+			
+			/* Modify the footer row to match what we want */
+			var nCells = nRow.getElementsByTagName('th');
+			nCells[1].innerHTML = parseInt(iPageMarket * 100)/100 +
+				'% ('+ parseInt(iTotalMarket * 100)/100 +'% total)';
+		}
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/highlight.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/highlight.html new file mode 100644 index 0000000..139a90f --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/highlight.html @@ -0,0 +1,643 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables highlighting via CSS example +
+ +

Preamble

+

When highlighting rows using CSS :hover, you need to be aware of the sorting class which is applied to elements in the column currently being sorted (assuming it is enabled - it is by default). This example shows how to consider this in CSS, with highlighting for each row, and a little tint for the sorting column to maintain it's visibility as the column currently being sorted upon.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+

Javascript:

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + +

CSS (note that for this example the selector ".ex_highlight" is used to limit the CSS here to just this example.

+
.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted {
+	background-color: #ECFFB3;
+}
+
+.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted {
+	background-color: #E6FF99;
+}
+
+.ex_highlight_row #example tr.even:hover {
+	background-color: #ECFFB3;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_1 {
+	background-color: #DDFF75;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_2 {
+	background-color: #E7FF9E;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_3 {
+	background-color: #E2FF89;
+}
+
+.ex_highlight_row #example tr.odd:hover {
+	background-color: #E6FF99;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_1 {
+	background-color: #D6FF5C;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_2 {
+	background-color: #E0FF84;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_3 {
+	background-color: #DBFF70;
+}
+
+ + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/html_sort.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/html_sort.html new file mode 100644 index 0000000..71a2b01 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/html_sort.html @@ -0,0 +1,197 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables HTML sorting example +
+ +

Preamble

+

DataTables will attempt to automatically detect the data types that your table contains, allowing it to accurately sort and filter this data. This example shows automatic type detection of HTML information - note that the sorting is correct on the second column for the visible information. Additional data types can be added through plug-ins. +

Note that prior to DataTables 1.7 the HTML type was not automatically detected, and it was necessary to specify the sType for the column - this is now not needed as seen in this example. If you do want to be able to sort and filter on the HTML information you can specify the sType for the column as 'string'.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + +
ReflectionLink
DataTablesDataTables
IntegrityA link to Integrity
IntegrityIntegrity
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/language_file.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/language_file.html new file mode 100644 index 0000000..7ded017 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/language_file.html @@ -0,0 +1,608 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables language file example +
+ +

Preamble

+

As well as being able to pass language information to DataTables through the initialisation object, you can also store the language information in a file, which DataTables will then read. Useful if you are using server-side processes to switch language. The following example shows DataTables reading a German language file.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"oLanguage": {
+			"sUrl": "media/language/de_DE.txt"
+		}
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/length_menu.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/length_menu.html new file mode 100644 index 0000000..a544f0e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/length_menu.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables defining the length menu example +
+ +

Preamble

+

It is possible to easily customise the options shown in the length menu (by default at the top left of the table) using the aLengthMenu initialisation option. This parameter is either a 1D array of options which will be used for both the displayed option and the value, or a 2D array (shown in this example) which will use the array in the first position as the value, and the array in the second position as the displayed options (useful for language strings such as 'All').

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/localstorage.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/localstorage.html new file mode 100644 index 0000000..0d6c671 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/localstorage.html @@ -0,0 +1,612 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables - state saving with localStorage +
+ +

Preamble

+

The state saving storage method that is built into DataTables makes use of cookies for compatibility with all browsers. However, cookies have a number of disadvantagies such as requiring increased HTTP bandwidth and a 4K limit. The W3C Web Storage specification defines localStorage as a local storage method which we can use in DataTables to store state without the inherent issues in using cookies.

+

This example shows the use of fnStateSave and fnStateLoad to very simply store the table state in localStorage and then load it back again when needed.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bStateSave": true
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_callback.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_callback.html new file mode 100644 index 0000000..448ca31 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_callback.html @@ -0,0 +1,624 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables example with row callback +
+ +

Preamble

+

The following example shows how a callback function can be used to format a particular row at draw time. For each row that is generated for display, the fnRowCallback() function is called. It is passed the row node which can then be modified. In this case a trivial example of making the 'grade' column bold if the grade is 'A' is shown (note that this could also be performed using the fnRender() function, but this is just for example).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
+			/* Append the grade to the default row class name */
+			if ( aData[4] == "A" )
+			{
+				$('td:eq(4)', nRow).html( '<b>A</b>' );
+			}
+		},
+		"aoColumnDefs": [ {
+				"sClass": "center",
+				"aTargets": [ -1, -2 ]
+		} ]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_grouping.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_grouping.html new file mode 100644 index 0000000..bcb0818 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/row_grouping.html @@ -0,0 +1,661 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables row grouping example +
+ +

Preamble

+

Although DataTables doesn't have row grouping built-in (picking one of the many methods available would overly limit the plug-in it was felt), it is most certainly possible to give the look and feel of row grouping. In the example below the 'group' is the browser engine, which is based on the information in the first column (set to hidden). The grouping indicator is added by the fnDrawCallback function, which will parse through the rows which are displayed, and enter a TR element where a new group is found.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	oTable = $('#example').dataTable({
+		"fnDrawCallback": function ( oSettings ) {
+			if ( oSettings.aiDisplay.length == 0 )
+			{
+				return;
+			}
+			
+			var nTrs = $('#example tbody tr');
+			var iColspan = nTrs[0].getElementsByTagName('td').length;
+			var sLastGroup = "";
+			for ( var i=0 ; i<nTrs.length ; i++ )
+			{
+				var iDisplayIndex = oSettings._iDisplayStart + i;
+				var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[0];
+				if ( sGroup != sLastGroup )
+				{
+					var nGroup = document.createElement( 'tr' );
+					var nCell = document.createElement( 'td' );
+					nCell.colSpan = iColspan;
+					nCell.className = "group";
+					nCell.innerHTML = sGroup;
+					nGroup.appendChild( nCell );
+					nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
+					sLastGroup = sGroup;
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 0 ] }
+		],
+		"aaSortingFixed": [[ 0, 'asc' ]],
+		"aaSorting": [[ 1, 'asc' ]],
+		"sDom": 'lfr<"giveHeight"t>ip'
+	});
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/sorting_control.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/sorting_control.html new file mode 100644 index 0000000..83c8eba --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/advanced_init/sorting_control.html @@ -0,0 +1,625 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables sorting direction control example +
+ +

Preamble

+

At times you may wish to change the default sorting direction for columns (all or some of them) to be 'descending' rather than DataTables' default ascending. This can be done through the use of the aoColumns[].asSorting initialisation parameter. This parameter also allows you to limit the sorting to a single direction, or you could add complex behaviour to the sorting interaction.

+

The example below shows:

+
    +
  • Column 1 - default sorting
  • +
  • Column 2 - ascending sorting only
  • +
  • Column 3 - descending sorting, followed by ascending and then ascending again
  • +
  • Column 4 - descending sorting only
  • +
  • Column 5 - default sorting
  • +
+

It's worth noting that I don't have a good use case for when you might what to use the complex behaviour that is possible with this, but it is there should you want to use it!

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "asSorting": [ "asc" ] },
+			{ "asSorting": [ "desc", "asc", "asc" ] },
+			{ "asSorting": [ "desc" ] },
+			null
+		]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/ajax.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/ajax.html new file mode 100644 index 0000000..6942ba5 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/ajax.html @@ -0,0 +1,208 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example +
+ +

Preamble

+

Although DataTables is built from the principle of progressive enhancement, it is often useful to be able to construct a table from an AJAX source. This can be done in one of two ways - either using the aData initialisation parameter which takes an array of data, or using the sAjaxSource initialisation parameter which will have DataTables go to that source with an XHR call and load data from there. This example shows the latter method in action. DataTables expects an object with an array called "aaData" with the data source.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/arrays.txt"
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/custom_data_property.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/custom_data_property.html new file mode 100644 index 0000000..d079896 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/custom_data_property.html @@ -0,0 +1,210 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - reading an arbitrary data source property +
+ +

Preamble

+

By default DataTables will read the data to show in the table from the aaData property of the object returned from the server. By using the initialisation option sAjaxDataProp you can customise this to whatever you wish. This examples shows it being set to 'demo'. Note that this option will also work with server-side processing. Additionally, it is possible to set sAjaxDataProp to be an empty string, which results in DataTables treating the given data source as the table data array (rather than as property of an object).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/custom_prop.txt",
+		"sAjaxDataProp": "demo"
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/deep.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/deep.html new file mode 100644 index 0000000..2934cf3 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/deep.html @@ -0,0 +1,222 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - deep property reading for a data source +
+ +

Preamble

+

The ability of DataTables to read arbitrary object properties as a column data source is extended to n levels of objects, through the use of standard Javascript dotted object notation. For example in this example "platform.details.0" refers to the first element of the array "details", of the object "platform", for each column. Any level of 'dots' can be used.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/deep.txt",
+		"aoColumns": [
+			{ "mDataProp": "engine" },
+			{ "mDataProp": "browser" },
+			{ "mDataProp": "platform.inner" },
+			{ "mDataProp": "platform.details.0" },
+			{ "mDataProp": "platform.details.1" }
+		]
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/defer_render.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/defer_render.html new file mode 100644 index 0000000..da7757a --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/defer_render.html @@ -0,0 +1,210 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - with deferred rendering +
+ +

Preamble

+

When working with large data sources, you might seek to improve the speed at which DataTables runs. One method to do this is to make use of the build in deferred rendering. Rather than have DataTables create all TR and TD nodes required for the table when the data is loaded, when deferred rendering is enabled, DataTables will only create the nodes required for each individual display - these nodes are then retained incase they are needed again. This can give a significant performance increase, since a lot less work is done at initialisation time.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/arrays.txt",
+		"bDeferRender": true
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/null_data_source.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/null_data_source.html new file mode 100644 index 0000000..237f8ff --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/null_data_source.html @@ -0,0 +1,214 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - null data source for a column +
+ +

Preamble

+

In some tables it can be useful to not need to specify any data source for a column, as it's content is automatically generated (for example using fnRender). This is fairly common with add, edit and delete columns for a CRUD interface. You can now use the mDataProp set to null to specify that the column has no data source. DataTables will render this column as empty.

+ +

Live example

+
+ + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS gradeEmpty!
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/arrays.txt",
+		"aoColumns": [
+			null,
+			null,
+			null,
+			null,
+			null,
+			{ "mDataProp": null }
+		]
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects.html new file mode 100644 index 0000000..27aab16 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects.html @@ -0,0 +1,222 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - array of objects as a data source +
+ +

Preamble

+

By default, DataTables will expect an array of arrays for its data source, with each cell in the table being exactly described in the data source. However, this can often be quite limiting, or not suitable for a particular data source, so it is possible to specify which property of a source object that DataTables should read for each column. In this example the Ajax source returns an array of objects (one object for each row), and will then read the required property for each column.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/objects.txt",
+		"aoColumns": [
+			{ "mDataProp": "engine" },
+			{ "mDataProp": "browser" },
+			{ "mDataProp": "platform" },
+			{ "mDataProp": "version" },
+			{ "mDataProp": "grade" }
+		]
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects_subarrays.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects_subarrays.html new file mode 100644 index 0000000..6b6f90c --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/objects_subarrays.html @@ -0,0 +1,222 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example - array of objects with sub-arrays as a data source +
+ +

Preamble

+

While the ability of DataTables to read arbitrary objects properties as a data source for any column is very powerful, it actually goes further than single level object properties; it is possible to read a data source for a column from a deeply nested array or property. This is specified in typical Javascript dotted object notation. For example "details.0" (used in this example) refers to the first property in an array called "details". "details.1" refers to the second property, etc. Object properties can also be used - for example "details.version" is perfectly valid, if that property is available in your data source.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": "sources/objects_subarrays.txt",
+		"aoColumns": [
+			{ "mDataProp": "engine" },
+			{ "mDataProp": "browser" },
+			{ "mDataProp": "platform" },
+			{ "mDataProp": "details.0" },
+			{ "mDataProp": "details.1" }
+		]
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/array_only.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/array_only.txt new file mode 100644 index 0000000..a8b16d7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/array_only.txt @@ -0,0 +1,59 @@ +[ + ["Trident","Internet Explorer 4.0","Win 95+","4","X"], + ["Trident","Internet Explorer 5.0","Win 95+","5","C"], + ["Trident","Internet Explorer 5.5","Win 95+","5.5","A"], + ["Trident","Internet Explorer 6","Win 98+","6","A"], + ["Trident","Internet Explorer 7","Win XP SP2+","7","A"], + ["Trident","AOL browser (AOL desktop)","Win XP","6","A"], + ["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"], + ["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"], + ["Gecko","Camino 1.0","OSX.2+","1.8","A"], + ["Gecko","Camino 1.5","OSX.3+","1.8","A"], + ["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"], + ["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"], + ["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Mozilla 1.0","Win 95+ / OSX.1+",1,"A"], + ["Gecko","Mozilla 1.1","Win 95+ / OSX.1+",1.1,"A"], + ["Gecko","Mozilla 1.2","Win 95+ / OSX.1+",1.2,"A"], + ["Gecko","Mozilla 1.3","Win 95+ / OSX.1+",1.3,"A"], + ["Gecko","Mozilla 1.4","Win 95+ / OSX.1+",1.4,"A"], + ["Gecko","Mozilla 1.5","Win 95+ / OSX.1+",1.5,"A"], + ["Gecko","Mozilla 1.6","Win 95+ / OSX.1+",1.6,"A"], + ["Gecko","Mozilla 1.7","Win 98+ / OSX.1+",1.7,"A"], + ["Gecko","Mozilla 1.8","Win 98+ / OSX.1+",1.8,"A"], + ["Gecko","Seamonkey 1.1","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Epiphany 2.20","Gnome","1.8","A"], + ["Webkit","Safari 1.2","OSX.3","125.5","A"], + ["Webkit","Safari 1.3","OSX.3","312.8","A"], + ["Webkit","Safari 2.0","OSX.4+","419.3","A"], + ["Webkit","Safari 3.0","OSX.4+","522.1","A"], + ["Webkit","OmniWeb 5.5","OSX.4+","420","A"], + ["Webkit","iPod Touch / iPhone","iPod","420.1","A"], + ["Webkit","S60","S60","413","A"], + ["Presto","Opera 7.0","Win 95+ / OSX.1+","-","A"], + ["Presto","Opera 7.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.0","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 9.0","Win 95+ / OSX.3+","-","A"], + ["Presto","Opera 9.2","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera 9.5","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera for Wii","Wii","-","A"], + ["Presto","Nokia N800","N800","-","A"], + ["Presto","Nintendo DS browser","Nintendo DS","8.5","C/A1"], + ["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"], + ["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"], + ["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"], + ["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"], + ["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"], + ["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"], + ["Misc","NetFront 3.1","Embedded devices","-","C"], + ["Misc","NetFront 3.4","Embedded devices","-","A"], + ["Misc","Dillo 0.8","Embedded devices","-","X"], + ["Misc","Links","Text only","-","X"], + ["Misc","Lynx","Text only","-","X"], + ["Misc","IE Mobile","Windows Mobile 6","-","C"], + ["Misc","PSP browser","PSP","-","C"], + ["Other browsers","All others","-","-","U"] +] \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays.txt new file mode 100644 index 0000000..fcbe36e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays.txt @@ -0,0 +1,59 @@ +{ "aaData": [ + ["Trident","Internet Explorer 4.0","Win 95+","4","X"], + ["Trident","Internet Explorer 5.0","Win 95+","5","C"], + ["Trident","Internet Explorer 5.5","Win 95+","5.5","A"], + ["Trident","Internet Explorer 6","Win 98+","6","A"], + ["Trident","Internet Explorer 7","Win XP SP2+","7","A"], + ["Trident","AOL browser (AOL desktop)","Win XP","6","A"], + ["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"], + ["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"], + ["Gecko","Camino 1.0","OSX.2+","1.8","A"], + ["Gecko","Camino 1.5","OSX.3+","1.8","A"], + ["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"], + ["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"], + ["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Mozilla 1.0","Win 95+ / OSX.1+",1,"A"], + ["Gecko","Mozilla 1.1","Win 95+ / OSX.1+",1.1,"A"], + ["Gecko","Mozilla 1.2","Win 95+ / OSX.1+",1.2,"A"], + ["Gecko","Mozilla 1.3","Win 95+ / OSX.1+",1.3,"A"], + ["Gecko","Mozilla 1.4","Win 95+ / OSX.1+",1.4,"A"], + ["Gecko","Mozilla 1.5","Win 95+ / OSX.1+",1.5,"A"], + ["Gecko","Mozilla 1.6","Win 95+ / OSX.1+",1.6,"A"], + ["Gecko","Mozilla 1.7","Win 98+ / OSX.1+",1.7,"A"], + ["Gecko","Mozilla 1.8","Win 98+ / OSX.1+",1.8,"A"], + ["Gecko","Seamonkey 1.1","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Epiphany 2.20","Gnome","1.8","A"], + ["Webkit","Safari 1.2","OSX.3","125.5","A"], + ["Webkit","Safari 1.3","OSX.3","312.8","A"], + ["Webkit","Safari 2.0","OSX.4+","419.3","A"], + ["Webkit","Safari 3.0","OSX.4+","522.1","A"], + ["Webkit","OmniWeb 5.5","OSX.4+","420","A"], + ["Webkit","iPod Touch / iPhone","iPod","420.1","A"], + ["Webkit","S60","S60","413","A"], + ["Presto","Opera 7.0","Win 95+ / OSX.1+","-","A"], + ["Presto","Opera 7.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.0","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 9.0","Win 95+ / OSX.3+","-","A"], + ["Presto","Opera 9.2","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera 9.5","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera for Wii","Wii","-","A"], + ["Presto","Nokia N800","N800","-","A"], + ["Presto","Nintendo DS browser","Nintendo DS","8.5","C/A1"], + ["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"], + ["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"], + ["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"], + ["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"], + ["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"], + ["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"], + ["Misc","NetFront 3.1","Embedded devices","-","C"], + ["Misc","NetFront 3.4","Embedded devices","-","A"], + ["Misc","Dillo 0.8","Embedded devices","-","X"], + ["Misc","Links","Text only","-","X"], + ["Misc","Lynx","Text only","-","X"], + ["Misc","IE Mobile","Windows Mobile 6","-","C"], + ["Misc","PSP browser","PSP","-","C"], + ["Other browsers","All others","-","-","U"] +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays_subobjects.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays_subobjects.txt new file mode 100644 index 0000000..46d66d7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/arrays_subobjects.txt @@ -0,0 +1,515 @@ +{ "aaData": [ + [ + "Trident", + "Internet Explorer 4.0", + "Win 95+", + { + "version": "4", + "grade": "X" + } + ], + [ + "Trident", + "Internet Explorer 5.0", + "Win 95+", + { + "version": "5", + "grade": "C" + } + ], + [ + "Trident", + "Internet Explorer 5.5", + "Win 95+", + { + "version": "5.5", + "grade": "A" + } + ], + [ + "Trident", + "Internet Explorer 6", + "Win 98+", + { + "version": "6", + "grade": "A" + } + ], + [ + "Trident", + "Internet Explorer 7", + "Win XP SP2+", + { + "version": "7", + "grade": "A" + } + ], + [ + "Trident", + "AOL browser (AOL desktop)", + "Win XP", + { + "version": "6", + "grade": "A" + } + ], + [ + "Gecko", + "Firefox 1.0", + "Win 98+ / OSX.2+", + { + "version": "1.7", + "grade": "A" + } + ], + [ + "Gecko", + "Firefox 1.5", + "Win 98+ / OSX.2+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Firefox 2.0", + "Win 98+ / OSX.2+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Firefox 3.0", + "Win 2k+ / OSX.3+", + { + "version": "1.9", + "grade": "A" + } + ], + [ + "Gecko", + "Camino 1.0", + "OSX.2+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Camino 1.5", + "OSX.3+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Netscape 7.2", + "Win 95+ / Mac OS 8.6-9.2", + { + "version": "1.7", + "grade": "A" + } + ], + [ + "Gecko", + "Netscape Browser 8", + "Win 98SE+", + { + "version": "1.7", + "grade": "A" + } + ], + [ + "Gecko", + "Netscape Navigator 9", + "Win 98+ / OSX.2+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.0", + "Win 95+ / OSX.1+", + { + "version": "1", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.1", + "Win 95+ / OSX.1+", + { + "version": "1.1", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.2", + "Win 95+ / OSX.1+", + { + "version": "1.2", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.3", + "Win 95+ / OSX.1+", + { + "version": "1.3", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.4", + "Win 95+ / OSX.1+", + { + "version": "1.4", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.5", + "Win 95+ / OSX.1+", + { + "version": "1.5", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.6", + "Win 95+ / OSX.1+", + { + "version": "1.6", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.7", + "Win 98+ / OSX.1+", + { + "version": "1.7", + "grade": "A" + } + ], + [ + "Gecko", + "Mozilla 1.8", + "Win 98+ / OSX.1+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Seamonkey 1.1", + "Win 98+ / OSX.2+", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Gecko", + "Epiphany 2.20", + "Gnome", + { + "version": "1.8", + "grade": "A" + } + ], + [ + "Webkit", + "Safari 1.2", + "OSX.3", + { + "version": "125.5", + "grade": "A" + } + ], + [ + "Webkit", + "Safari 1.3", + "OSX.3", + { + "version": "312.8", + "grade": "A" + } + ], + [ + "Webkit", + "Safari 2.0", + "OSX.4+", + { + "version": "419.3", + "grade": "A" + } + ], + [ + "Webkit", + "Safari 3.0", + "OSX.4+", + { + "version": "522.1", + "grade": "A" + } + ], + [ + "Webkit", + "OmniWeb 5.5", + "OSX.4+", + { + "version": "420", + "grade": "A" + } + ], + [ + "Webkit", + "iPod Touch / iPhone", + "iPod", + { + "version": "420.1", + "grade": "A" + } + ], + [ + "Webkit", + "S60", + "S60", + { + "version": "413", + "grade": "A" + } + ], + [ + "Presto", + "Opera 7.0", + "Win 95+ / OSX.1+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 7.5", + "Win 95+ / OSX.2+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 8.0", + "Win 95+ / OSX.2+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 8.5", + "Win 95+ / OSX.2+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 9.0", + "Win 95+ / OSX.3+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 9.2", + "Win 88+ / OSX.3+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera 9.5", + "Win 88+ / OSX.3+", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Opera for Wii", + "Wii", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Nokia N800", + "N800", + { + "version": "-", + "grade": "A" + } + ], + [ + "Presto", + "Nintendo DS browser", + "Nintendo DS", + { + "version": "8.5", + "grade": "C/A1" + } + ], + [ + "KHTML", + "Konqureror 3.1", + "KDE 3.1", + { + "version": "3.1", + "grade": "C" + } + ], + [ + "KHTML", + "Konqureror 3.3", + "KDE 3.3", + { + "version": "3.3", + "grade": "A" + } + ], + [ + "KHTML", + "Konqureror 3.5", + "KDE 3.5", + { + "version": "3.5", + "grade": "A" + } + ], + [ + "Tasman", + "Internet Explorer 4.5", + "Mac OS 8-9", + { + "version": "-", + "grade": "X" + } + ], + [ + "Tasman", + "Internet Explorer 5.1", + "Mac OS 7.6-9", + { + "version": "1", + "grade": "C" + } + ], + [ + "Tasman", + "Internet Explorer 5.2", + "Mac OS 8-X", + { + "version": "1", + "grade": "C" + } + ], + [ + "Misc", + "NetFront 3.1", + "Embedded devices", + { + "version": "-", + "grade": "C" + } + ], + [ + "Misc", + "NetFront 3.4", + "Embedded devices", + { + "version": "-", + "grade": "A" + } + ], + [ + "Misc", + "Dillo 0.8", + "Embedded devices", + { + "version": "-", + "grade": "X" + } + ], + [ + "Misc", + "Links", + "Text only", + { + "version": "-", + "grade": "X" + } + ], + [ + "Misc", + "Lynx", + "Text only", + { + "version": "-", + "grade": "X" + } + ], + [ + "Misc", + "IE Mobile", + "Windows Mobile 6", + { + "version": "-", + "grade": "C" + } + ], + [ + "Misc", + "PSP browser", + "PSP", + { + "version": "-", + "grade": "C" + } + ], + [ + "Other browsers", + "All others", + "-", + { + "version": "-", + "grade": "U" + } + ] +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/custom_prop.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/custom_prop.txt new file mode 100644 index 0000000..a65fcf7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/custom_prop.txt @@ -0,0 +1,59 @@ +{ "demo": [ + ["Trident","Internet Explorer 4.0","Win 95+","4","X"], + ["Trident","Internet Explorer 5.0","Win 95+","5","C"], + ["Trident","Internet Explorer 5.5","Win 95+","5.5","A"], + ["Trident","Internet Explorer 6","Win 98+","6","A"], + ["Trident","Internet Explorer 7","Win XP SP2+","7","A"], + ["Trident","AOL browser (AOL desktop)","Win XP","6","A"], + ["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"], + ["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"], + ["Gecko","Camino 1.0","OSX.2+","1.8","A"], + ["Gecko","Camino 1.5","OSX.3+","1.8","A"], + ["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"], + ["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"], + ["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Mozilla 1.0","Win 95+ / OSX.1+",1,"A"], + ["Gecko","Mozilla 1.1","Win 95+ / OSX.1+",1.1,"A"], + ["Gecko","Mozilla 1.2","Win 95+ / OSX.1+",1.2,"A"], + ["Gecko","Mozilla 1.3","Win 95+ / OSX.1+",1.3,"A"], + ["Gecko","Mozilla 1.4","Win 95+ / OSX.1+",1.4,"A"], + ["Gecko","Mozilla 1.5","Win 95+ / OSX.1+",1.5,"A"], + ["Gecko","Mozilla 1.6","Win 95+ / OSX.1+",1.6,"A"], + ["Gecko","Mozilla 1.7","Win 98+ / OSX.1+",1.7,"A"], + ["Gecko","Mozilla 1.8","Win 98+ / OSX.1+",1.8,"A"], + ["Gecko","Seamonkey 1.1","Win 98+ / OSX.2+","1.8","A"], + ["Gecko","Epiphany 2.20","Gnome","1.8","A"], + ["Webkit","Safari 1.2","OSX.3","125.5","A"], + ["Webkit","Safari 1.3","OSX.3","312.8","A"], + ["Webkit","Safari 2.0","OSX.4+","419.3","A"], + ["Webkit","Safari 3.0","OSX.4+","522.1","A"], + ["Webkit","OmniWeb 5.5","OSX.4+","420","A"], + ["Webkit","iPod Touch / iPhone","iPod","420.1","A"], + ["Webkit","S60","S60","413","A"], + ["Presto","Opera 7.0","Win 95+ / OSX.1+","-","A"], + ["Presto","Opera 7.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.0","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 8.5","Win 95+ / OSX.2+","-","A"], + ["Presto","Opera 9.0","Win 95+ / OSX.3+","-","A"], + ["Presto","Opera 9.2","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera 9.5","Win 88+ / OSX.3+","-","A"], + ["Presto","Opera for Wii","Wii","-","A"], + ["Presto","Nokia N800","N800","-","A"], + ["Presto","Nintendo DS browser","Nintendo DS","8.5","C/A1"], + ["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"], + ["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"], + ["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"], + ["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"], + ["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"], + ["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"], + ["Misc","NetFront 3.1","Embedded devices","-","C"], + ["Misc","NetFront 3.4","Embedded devices","-","A"], + ["Misc","Dillo 0.8","Embedded devices","-","X"], + ["Misc","Links","Text only","-","X"], + ["Misc","Lynx","Text only","-","X"], + ["Misc","IE Mobile","Windows Mobile 6","-","C"], + ["Misc","PSP browser","PSP","-","C"], + ["Other browsers","All others","-","-","U"] +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/deep.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/deep.txt new file mode 100644 index 0000000..7a3124b --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/deep.txt @@ -0,0 +1,629 @@ +{ "aaData": [ + { + "engine": "Trident", + "browser": "Internet Explorer 4.0", + "platform": { + "inner": "Win 95+", + "details": [ + "4", + "X" + ] + } + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.0", + "platform": { + "inner": "Win 95+", + "details": [ + "5", + "C" + ] + } + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.5", + "platform": { + "inner": "Win 95+", + "details": [ + "5.5", + "A" + ] + } + }, + { + "engine": "Trident", + "browser": "Internet Explorer 6", + "platform": { + "inner": "Win 98+", + "details": [ + "6", + "A" + ] + } + }, + { + "engine": "Trident", + "browser": "Internet Explorer 7", + "platform": { + "inner": "Win XP SP2+", + "details": [ + "7", + "A" + ] + } + }, + { + "engine": "Trident", + "browser": "AOL browser (AOL desktop)", + "platform": { + "inner": "Win XP", + "details": [ + "6", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Firefox 1.0", + "platform": { + "inner": "Win 98+ / OSX.2+", + "details": [ + "1.7", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Firefox 1.5", + "platform": { + "inner": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Firefox 2.0", + "platform": { + "inner": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Firefox 3.0", + "platform": { + "inner": "Win 2k+ / OSX.3+", + "details": [ + "1.9", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Camino 1.0", + "platform": { + "inner": "OSX.2+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Camino 1.5", + "platform": { + "inner": "OSX.3+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Netscape 7.2", + "platform": { + "inner": "Win 95+ / Mac OS 8.6-9.2", + "details": [ + "1.7", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Netscape Browser 8", + "platform": { + "inner": "Win 98SE+", + "details": [ + "1.7", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Netscape Navigator 9", + "platform": { + "inner": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.0", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.1", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.1, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.2", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.2, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.3", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.3, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.4", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.4, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.5", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.5, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.6", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + 1.6, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.7", + "platform": { + "inner": "Win 98+ / OSX.1+", + "details": [ + 1.7, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.8", + "platform": { + "inner": "Win 98+ / OSX.1+", + "details": [ + 1.8, + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Seamonkey 1.1", + "platform": { + "inner": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Gecko", + "browser": "Epiphany 2.20", + "platform": { + "inner": "Gnome", + "details": [ + "1.8", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "Safari 1.2", + "platform": { + "inner": "OSX.3", + "details": [ + "125.5", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "Safari 1.3", + "platform": { + "inner": "OSX.3", + "details": [ + "312.8", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "Safari 2.0", + "platform": { + "inner": "OSX.4+", + "details": [ + "419.3", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "Safari 3.0", + "platform": { + "inner": "OSX.4+", + "details": [ + "522.1", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "OmniWeb 5.5", + "platform": { + "inner": "OSX.4+", + "details": [ + "420", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "iPod Touch / iPhone", + "platform": { + "inner": "iPod", + "details": [ + "420.1", + "A" + ] + } + }, + { + "engine": "Webkit", + "browser": "S60", + "platform": { + "inner": "S60", + "details": [ + "413", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 7.0", + "platform": { + "inner": "Win 95+ / OSX.1+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 7.5", + "platform": { + "inner": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 8.0", + "platform": { + "inner": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 8.5", + "platform": { + "inner": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 9.0", + "platform": { + "inner": "Win 95+ / OSX.3+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 9.2", + "platform": { + "inner": "Win 88+ / OSX.3+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera 9.5", + "platform": { + "inner": "Win 88+ / OSX.3+", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Opera for Wii", + "platform": { + "inner": "Wii", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Nokia N800", + "platform": { + "inner": "N800", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Presto", + "browser": "Nintendo DS browser", + "platform": { + "inner": "Nintendo DS", + "details": [ + "8.5", + "C/A1" + ] + } + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.1", + "platform": { + "inner": "KDE 3.1", + "details": [ + "3.1", + "C" + ] + } + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.3", + "platform": { + "inner": "KDE 3.3", + "details": [ + "3.3", + "A" + ] + } + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.5", + "platform": { + "inner": "KDE 3.5", + "details": [ + "3.5", + "A" + ] + } + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 4.5", + "platform": { + "inner": "Mac OS 8-9", + "details": [ + "-", + "X" + ] + } + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.1", + "platform": { + "inner": "Mac OS 7.6-9", + "details": [ + "1", + "C" + ] + } + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.2", + "platform": { + "inner": "Mac OS 8-X", + "details": [ + "1", + "C" + ] + } + }, + { + "engine": "Misc", + "browser": "NetFront 3.1", + "platform": { + "inner": "Embedded devices", + "details": [ + "-", + "C" + ] + } + }, + { + "engine": "Misc", + "browser": "NetFront 3.4", + "platform": { + "inner": "Embedded devices", + "details": [ + "-", + "A" + ] + } + }, + { + "engine": "Misc", + "browser": "Dillo 0.8", + "platform": { + "inner": "Embedded devices", + "details": [ + "-", + "X" + ] + } + }, + { + "engine": "Misc", + "browser": "Links", + "platform": { + "inner": "Text only", + "details": [ + "-", + "X" + ] + } + }, + { + "engine": "Misc", + "browser": "Lynx", + "platform": { + "inner": "Text only", + "details": [ + "-", + "X" + ] + } + }, + { + "engine": "Misc", + "browser": "IE Mobile", + "platform": { + "inner": "Windows Mobile 6", + "details": [ + "-", + "C" + ] + } + }, + { + "engine": "Misc", + "browser": "PSP browser", + "platform": { + "inner": "PSP", + "details": [ + "-", + "C" + ] + } + }, + { + "engine": "Other browsers", + "browser": "All others", + "platform": { + "inner": "-", + "details": [ + "-", + "U" + ] + } + } +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects.txt new file mode 100644 index 0000000..1c3f870 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects.txt @@ -0,0 +1,401 @@ +{ "aaData": [ + { + "engine": "Trident", + "browser": "Internet Explorer 4.0", + "platform": "Win 95+", + "version": "4", + "grade": "X" + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.0", + "platform": "Win 95+", + "version": "5", + "grade": "C" + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.5", + "platform": "Win 95+", + "version": "5.5", + "grade": "A" + }, + { + "engine": "Trident", + "browser": "Internet Explorer 6", + "platform": "Win 98+", + "version": "6", + "grade": "A" + }, + { + "engine": "Trident", + "browser": "Internet Explorer 7", + "platform": "Win XP SP2+", + "version": "7", + "grade": "A" + }, + { + "engine": "Trident", + "browser": "AOL browser (AOL desktop)", + "platform": "Win XP", + "version": "6", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Firefox 1.0", + "platform": "Win 98+ / OSX.2+", + "version": "1.7", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Firefox 1.5", + "platform": "Win 98+ / OSX.2+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Firefox 2.0", + "platform": "Win 98+ / OSX.2+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Firefox 3.0", + "platform": "Win 2k+ / OSX.3+", + "version": "1.9", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Camino 1.0", + "platform": "OSX.2+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Camino 1.5", + "platform": "OSX.3+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Netscape 7.2", + "platform": "Win 95+ / Mac OS 8.6-9.2", + "version": "1.7", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Netscape Browser 8", + "platform": "Win 98SE+", + "version": "1.7", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Netscape Navigator 9", + "platform": "Win 98+ / OSX.2+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.0", + "platform": "Win 95+ / OSX.1+", + "version": "1", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.1", + "platform": "Win 95+ / OSX.1+", + "version": "1.1", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.2", + "platform": "Win 95+ / OSX.1+", + "version": "1.2", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.3", + "platform": "Win 95+ / OSX.1+", + "version": "1.3", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.4", + "platform": "Win 95+ / OSX.1+", + "version": "1.4", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.5", + "platform": "Win 95+ / OSX.1+", + "version": "1.5", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.6", + "platform": "Win 95+ / OSX.1+", + "version": "1.6", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.7", + "platform": "Win 98+ / OSX.1+", + "version": "1.7", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.8", + "platform": "Win 98+ / OSX.1+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Seamonkey 1.1", + "platform": "Win 98+ / OSX.2+", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Gecko", + "browser": "Epiphany 2.20", + "platform": "Gnome", + "version": "1.8", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "Safari 1.2", + "platform": "OSX.3", + "version": "125.5", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "Safari 1.3", + "platform": "OSX.3", + "version": "312.8", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "Safari 2.0", + "platform": "OSX.4+", + "version": "419.3", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "Safari 3.0", + "platform": "OSX.4+", + "version": "522.1", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "OmniWeb 5.5", + "platform": "OSX.4+", + "version": "420", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "iPod Touch / iPhone", + "platform": "iPod", + "version": "420.1", + "grade": "A" + }, + { + "engine": "Webkit", + "browser": "S60", + "platform": "S60", + "version": "413", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 7.0", + "platform": "Win 95+ / OSX.1+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 7.5", + "platform": "Win 95+ / OSX.2+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 8.0", + "platform": "Win 95+ / OSX.2+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 8.5", + "platform": "Win 95+ / OSX.2+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 9.0", + "platform": "Win 95+ / OSX.3+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 9.2", + "platform": "Win 88+ / OSX.3+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera 9.5", + "platform": "Win 88+ / OSX.3+", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Opera for Wii", + "platform": "Wii", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Nokia N800", + "platform": "N800", + "version": "-", + "grade": "A" + }, + { + "engine": "Presto", + "browser": "Nintendo DS browser", + "platform": "Nintendo DS", + "version": "8.5", + "grade": "C/A1" + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.1", + "platform": "KDE 3.1", + "version": "3.1", + "grade": "C" + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.3", + "platform": "KDE 3.3", + "version": "3.3", + "grade": "A" + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.5", + "platform": "KDE 3.5", + "version": "3.5", + "grade": "A" + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 4.5", + "platform": "Mac OS 8-9", + "version": "-", + "grade": "X" + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.1", + "platform": "Mac OS 7.6-9", + "version": "1", + "grade": "C" + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.2", + "platform": "Mac OS 8-X", + "version": "1", + "grade": "C" + }, + { + "engine": "Misc", + "browser": "NetFront 3.1", + "platform": "Embedded devices", + "version": "-", + "grade": "C" + }, + { + "engine": "Misc", + "browser": "NetFront 3.4", + "platform": "Embedded devices", + "version": "-", + "grade": "A" + }, + { + "engine": "Misc", + "browser": "Dillo 0.8", + "platform": "Embedded devices", + "version": "-", + "grade": "X" + }, + { + "engine": "Misc", + "browser": "Links", + "platform": "Text only", + "version": "-", + "grade": "X" + }, + { + "engine": "Misc", + "browser": "Lynx", + "platform": "Text only", + "version": "-", + "grade": "X" + }, + { + "engine": "Misc", + "browser": "IE Mobile", + "platform": "Windows Mobile 6", + "version": "-", + "grade": "C" + }, + { + "engine": "Misc", + "browser": "PSP browser", + "platform": "PSP", + "version": "-", + "grade": "C" + }, + { + "engine": "Other browsers", + "browser": "All others", + "platform": "-", + "version": "-", + "grade": "U" + } +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects_subarrays.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects_subarrays.txt new file mode 100644 index 0000000..3b6da56 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/ajax/sources/objects_subarrays.txt @@ -0,0 +1,515 @@ +{ "aaData": [ + { + "engine": "Trident", + "browser": "Internet Explorer 4.0", + "platform": "Win 95+", + "details": [ + "4", + "X" + ] + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.0", + "platform": "Win 95+", + "details": [ + "5", + "C" + ] + }, + { + "engine": "Trident", + "browser": "Internet Explorer 5.5", + "platform": "Win 95+", + "details": [ + "5.5", + "A" + ] + }, + { + "engine": "Trident", + "browser": "Internet Explorer 6", + "platform": "Win 98+", + "details": [ + "6", + "A" + ] + }, + { + "engine": "Trident", + "browser": "Internet Explorer 7", + "platform": "Win XP SP2+", + "details": [ + "7", + "A" + ] + }, + { + "engine": "Trident", + "browser": "AOL browser (AOL desktop)", + "platform": "Win XP", + "details": [ + "6", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Firefox 1.0", + "platform": "Win 98+ / OSX.2+", + "details": [ + "1.7", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Firefox 1.5", + "platform": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Firefox 2.0", + "platform": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Firefox 3.0", + "platform": "Win 2k+ / OSX.3+", + "details": [ + "1.9", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Camino 1.0", + "platform": "OSX.2+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Camino 1.5", + "platform": "OSX.3+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Netscape 7.2", + "platform": "Win 95+ / Mac OS 8.6-9.2", + "details": [ + "1.7", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Netscape Browser 8", + "platform": "Win 98SE+", + "details": [ + "1.7", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Netscape Navigator 9", + "platform": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.0", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.1", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.1, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.2", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.2, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.3", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.3, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.4", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.4, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.5", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.5, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.6", + "platform": "Win 95+ / OSX.1+", + "details": [ + 1.6, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.7", + "platform": "Win 98+ / OSX.1+", + "details": [ + 1.7, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Mozilla 1.8", + "platform": "Win 98+ / OSX.1+", + "details": [ + 1.8, + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Seamonkey 1.1", + "platform": "Win 98+ / OSX.2+", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Gecko", + "browser": "Epiphany 2.20", + "platform": "Gnome", + "details": [ + "1.8", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "Safari 1.2", + "platform": "OSX.3", + "details": [ + "125.5", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "Safari 1.3", + "platform": "OSX.3", + "details": [ + "312.8", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "Safari 2.0", + "platform": "OSX.4+", + "details": [ + "419.3", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "Safari 3.0", + "platform": "OSX.4+", + "details": [ + "522.1", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "OmniWeb 5.5", + "platform": "OSX.4+", + "details": [ + "420", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "iPod Touch / iPhone", + "platform": "iPod", + "details": [ + "420.1", + "A" + ] + }, + { + "engine": "Webkit", + "browser": "S60", + "platform": "S60", + "details": [ + "413", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 7.0", + "platform": "Win 95+ / OSX.1+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 7.5", + "platform": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 8.0", + "platform": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 8.5", + "platform": "Win 95+ / OSX.2+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 9.0", + "platform": "Win 95+ / OSX.3+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 9.2", + "platform": "Win 88+ / OSX.3+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera 9.5", + "platform": "Win 88+ / OSX.3+", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Opera for Wii", + "platform": "Wii", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Nokia N800", + "platform": "N800", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Presto", + "browser": "Nintendo DS browser", + "platform": "Nintendo DS", + "details": [ + "8.5", + "C/A1" + ] + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.1", + "platform": "KDE 3.1", + "details": [ + "3.1", + "C" + ] + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.3", + "platform": "KDE 3.3", + "details": [ + "3.3", + "A" + ] + }, + { + "engine": "KHTML", + "browser": "Konqureror 3.5", + "platform": "KDE 3.5", + "details": [ + "3.5", + "A" + ] + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 4.5", + "platform": "Mac OS 8-9", + "details": [ + "-", + "X" + ] + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.1", + "platform": "Mac OS 7.6-9", + "details": [ + "1", + "C" + ] + }, + { + "engine": "Tasman", + "browser": "Internet Explorer 5.2", + "platform": "Mac OS 8-X", + "details": [ + "1", + "C" + ] + }, + { + "engine": "Misc", + "browser": "NetFront 3.1", + "platform": "Embedded devices", + "details": [ + "-", + "C" + ] + }, + { + "engine": "Misc", + "browser": "NetFront 3.4", + "platform": "Embedded devices", + "details": [ + "-", + "A" + ] + }, + { + "engine": "Misc", + "browser": "Dillo 0.8", + "platform": "Embedded devices", + "details": [ + "-", + "X" + ] + }, + { + "engine": "Misc", + "browser": "Links", + "platform": "Text only", + "details": [ + "-", + "X" + ] + }, + { + "engine": "Misc", + "browser": "Lynx", + "platform": "Text only", + "details": [ + "-", + "X" + ] + }, + { + "engine": "Misc", + "browser": "IE Mobile", + "platform": "Windows Mobile 6", + "details": [ + "-", + "C" + ] + }, + { + "engine": "Misc", + "browser": "PSP browser", + "platform": "PSP", + "details": [ + "-", + "C" + ] + }, + { + "engine": "Other browsers", + "browser": "All others", + "platform": "-", + "details": [ + "-", + "U" + ] + } +] } \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/add_row.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/add_row.html new file mode 100644 index 0000000..295d299 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/add_row.html @@ -0,0 +1,221 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables add row example +
+ +

Preamble

+

DataTables adding rows in DataTables is done by assigning the DataTables jQuery object to a variable when initialising it, and then using it's API methods to add a new row. Deleting rows can be done in a similar manner.

+ +

Live example

+

Click to add a new row

+ +
+ + + + + + + + + + + + + + + + + +
Column 1Column 2Column 3Column 4
allanallanallanallan
+
+
+ + +

Initialisation code

+
/* Global var for counter */
+var giCount = 1;
+
+$(document).ready(function() {
+	$('#example').dataTable();
+} );
+
+function fnClickAddRow() {
+	$('#example').dataTable().fnAddData( [
+		giCount+".1",
+		giCount+".2",
+		giCount+".3",
+		giCount+".4" ] );
+	
+	giCount++;
+}
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/api_in_init.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/api_in_init.html new file mode 100644 index 0000000..c6dc61f --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/api_in_init.html @@ -0,0 +1,615 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables using the DataTables object in the initialiser example +
+ +

Preamble

+

There are times when you may wish to call API functions inside the DataTables callback functions (for example fnInitComplete, fnRowCallback etc). The complicating issue with this is that the object hasn't fully initialised, so you can't assign the result to something like oTable and then use oTable in the callback. However, this is catered for by the execution scope of the callback function. Here this is the DataTables object that is created for the table.

+

In this example you will be able to see that this.$() is used to get all nodes in the table's body and then act on them (in this case added a click event). Note also the value of this stored in the variable that so it can be used inside the jQuery click function, where the execution scope has been changed to the td element!). The action here is to apply the filter with the value of what is in each cell.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnInitComplete": function () {
+			var that = this;
+			this.$('td').click( function () {
+				that.fnFilter( this.innerHTML );
+			} );
+		}
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/counter_column.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/counter_column.html new file mode 100644 index 0000000..3e26879 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/counter_column.html @@ -0,0 +1,690 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables row numbers example +
+ +

Preamble

+

A fairly common requirement for highly interactive tables which are displayed on the web is to have a column which with a 'counter' for the row number. This column should not be sortable, and change dynamically as the sorting and filtering applied to the table is altered by the end user.

+

This example shows how this can be achieved with DataTables, where the first column is the counter column, and is updated when sorting or filtering occurs. Also the first column is marked as un-sortable and initial sorting is applied only on the second column.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IndexRendering engineBrowserPlatform(s)Engine versionCSS grade
1TridentInternet + Explorer 4.0Win 95+4X
2TridentInternet + Explorer 5.0Win 95+5C
3TridentInternet + Explorer 5.5Win 95+5.5A
4TridentInternet + Explorer 6Win 98+6A
5TridentInternet Explorer 7Win XP SP2+7A
6TridentAOL browser (AOL desktop)Win XP6A
7GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
8GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
9GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
10GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
11GeckoCamino 1.0OSX.2+1.8A
12GeckoCamino 1.5OSX.3+1.8A
13GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
14GeckoNetscape Browser 8Win 98SE+1.7A
15GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
16GeckoMozilla 1.0Win 95+ / OSX.1+1A
17GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
18GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
19GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
20GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
21GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
22GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
23GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
24GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
25GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
26GeckoEpiphany 2.20Gnome1.8A
27WebkitSafari 1.2OSX.3125.5A
28WebkitSafari 1.3OSX.3312.8A
29WebkitSafari 2.0OSX.4+419.3A
30WebkitSafari 3.0OSX.4+522.1A
31WebkitOmniWeb 5.5OSX.4+420A
32WebkitiPod Touch / iPhoneiPod420.1A
33WebkitS60S60413A
34PrestoOpera 7.0Win 95+ / OSX.1+-A
35PrestoOpera 7.5Win 95+ / OSX.2+-A
36PrestoOpera 8.0Win 95+ / OSX.2+-A
37PrestoOpera 8.5Win 95+ / OSX.2+-A
38PrestoOpera 9.0Win 95+ / OSX.3+-A
39PrestoOpera 9.2Win 88+ / OSX.3+-A
40PrestoOpera 9.5Win 88+ / OSX.3+-A
41PrestoOpera for WiiWii-A
42PrestoNokia N800N800-A
43PrestoNintendo DS browserNintendo DS8.5C/A1
44KHTMLKonqureror 3.1KDE 3.13.1C
45KHTMLKonqureror 3.3KDE 3.33.3A
46KHTMLKonqureror 3.5KDE 3.53.5A
47TasmanInternet Explorer 4.5Mac OS 8-9-X
48TasmanInternet Explorer 5.1Mac OS 7.6-91C
49TasmanInternet Explorer 5.2Mac OS 8-X1C
50MiscNetFront 3.1Embedded devices-C
51MiscNetFront 3.4Embedded devices-A
52MiscDillo 0.8Embedded devices-X
53MiscLinksText only-X
54MiscLynxText only-X
55MiscIE MobileWindows Mobile 6-C
56MiscPSP browserPSP-C
57Other browsersAll others--U
IndexRendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered )
+			{
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
+				{
+					$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/editable.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/editable.html new file mode 100644 index 0000000..154baf8 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/editable.html @@ -0,0 +1,640 @@ + + + + + + + DataTables example + + + + + + + +
+
+ DataTables editing example +
+ +

Preamble

+

Using DataTables in-combination with the excellent jEditable plugin for jQuery allows you to produce a table which can have individual cells edited. The table can then be updated such that filtering, sorting etc. will all work as expected. This is showing in the demo below.

+

The example shows how a table element can be edited (you could limit to a particular column if you wish using the selector), posted to the server (for saving in a database or whatever) and then placed back into the DataTable. The server's processing in this example simply appends the string '(server updated)' to indicate that something has happened on the server.

+

Note also that this example makes use of the information in the 'ID' attribute of the TR element. This is useful in order to tell the server what row is being updated - this can readily be expended to include column information as required. Further to this, it is worth noting that to use this type of example with DataTables' server-side processing option, you must use fnDrawCallback to apply the event listeners on each draw.

+

Finally, if you are interested in a full CRUD implementation for DataTables, check out the Editor plug-in for DataTables, which provides a flexible and easy to use create, edit and delete environment for DataTables controlled tables with full server interaction.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	/* Init DataTables */
+	var oTable = $('#example').dataTable();
+	
+	/* Apply the jEditable handlers to the table */
+	oTable.$('td').editable( '../examples_support/editable_ajax.php', {
+		"callback": function( sValue, y ) {
+			var aPos = oTable.fnGetPosition( this );
+			oTable.fnUpdate( sValue, aPos[0], aPos[1] );
+		},
+		"submitdata": function ( value, settings ) {
+			return {
+				"row_id": this.parentNode.getAttribute('id'),
+				"column": oTable.fnGetPosition( this )[2]
+			};
+		},
+		"height": "14px",
+		"width": "100%"
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/form.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/form.html new file mode 100644 index 0000000..2c568fa --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/form.html @@ -0,0 +1,680 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables with form elements example +
+ +

Preamble

+

The following example shows how form elements can be used within a DataTables enhanced table. The trick here is that DataTables does not include the DOM elements which are not currently being displayed, therefore you need to add a submit event handler to gather together all of the input elements from the table, and then use the handy jQuery serialize() function to string together the data. It can then be posted to the server as you wish.

+ +

Live example

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS gradeCheck
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS gradeCheck
+
+
+
+ + +

Initialisation code

+
var oTable;
+
+$(document).ready(function() {
+	$('#form').submit( function() {
+		var sData = oTable.$('input').serialize();
+		alert( "The following data would have been submitted to the server: \n\n"+sData );
+		return false;
+	} );
+	
+	oTable = $('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/highlight.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/highlight.html new file mode 100644 index 0000000..f7c5631 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/highlight.html @@ -0,0 +1,618 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables highlighting example +
+ +

Preamble

+

The highlighting of rows and columns have be quite useful for attracting attention to where the user's cursor is in the data array. Of course the highlighting of a row is easy enough using CSS, but for column highlighting, you need to use a little bit of Javascript. This example shows that in action on a DataTables enhanced table - this type of effect would be particularly effective on tables with dense information.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bSortClasses": false
+	} );
+	
+	oTable.$('td').hover( function() {
+		var iCol = $('td', this.parentNode).index(this) % 5;
+		$('td:nth-child('+(iCol+1)+')', oTable.$('tr')).addClass( 'highlighted' );
+	}, function() {
+		oTable.$('td.highlighted').removeClass('highlighted');
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter.html new file mode 100644 index 0000000..648d321 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter.html @@ -0,0 +1,676 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables individual column filtering example +
+ +

Preamble

+

The filtering functionality that is provided by DataTables is very useful for quickly search through the information in the table - however the search is global, and you (or the end user) may wish to filter only on a particular column of data. To met this need the DataTables fnFilter() API function allow you to specify a column to limit to search to. Note that this works in-combination with the global search filter. Further note that because the input elements are outside of the control of DataTables, with state saving enabled, stored values are not automatically restored - please see this post in the forum for how to do this.

+

The example below shows a table which has a text input box for each column in the footer element of the table. This allows the data in each column to be quickly filtered upon by the end user.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
var asInitVals = new Array();
+
+$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+	
+	$("tfoot input").keyup( function () {
+		/* Filter on the column (the index) of this element */
+		oTable.fnFilter( this.value, $("tfoot input").index(this) );
+	} );
+	
+	
+	
+	/*
+	 * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
+	 * the footer
+	 */
+	$("tfoot input").each( function (i) {
+		asInitVals[i] = this.value;
+	} );
+	
+	$("tfoot input").focus( function () {
+		if ( this.className == "search_init" )
+		{
+			this.className = "";
+			this.value = "";
+		}
+	} );
+	
+	$("tfoot input").blur( function (i) {
+		if ( this.value == "" )
+		{
+			this.className = "search_init";
+			this.value = asInitVals[$("tfoot input").index(this)];
+		}
+	} );
+} );
+ + +

Note that in the above code, the support functions are provided to ensure that the end user knows what data is being filtered upon. fnFilter() is the function of primary import here.

+ + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter_select.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter_select.html new file mode 100644 index 0000000..49252bf --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/multi_filter_select.html @@ -0,0 +1,759 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables individual column filtering example (using select menus) +
+ +

Preamble

+

This example is almost identical to individual column example and provides the same functionality, but using <select> menus rather than input elements. The API plug-in function fnGetColumnData from Benedikt Forchhammer provides much of the logic processing required, and integration with a table is almost trivial.

+

One possible interaction chance would be to make use of fnGetColumnData's ability to get filtered data, so you could have the possible filtering values in the select menus to update to only those in the table, rather than all values.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
(function($) {
+/*
+ * Function: fnGetColumnData
+ * Purpose:  Return an array of table values from a particular column.
+ * Returns:  array string: 1d data array 
+ * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
+ *           int:iColumn - the id of the column to extract the data from
+ *           bool:bUnique - optional - if set to false duplicated values are not filtered out
+ *           bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
+ *           bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
+ * Author:   Benedikt Forchhammer <b.forchhammer /AT\ mind2.de>
+ */
+$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
+	// check that we have a column id
+	if ( typeof iColumn == "undefined" ) return new Array();
+	
+	// by default we only wany unique data
+	if ( typeof bUnique == "undefined" ) bUnique = true;
+	
+	// by default we do want to only look at filtered data
+	if ( typeof bFiltered == "undefined" ) bFiltered = true;
+	
+	// by default we do not wany to include empty values
+	if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
+	
+	// list of rows which we're going to loop through
+	var aiRows;
+	
+	// use only filtered rows
+	if (bFiltered == true) aiRows = oSettings.aiDisplay; 
+	// use all rows
+	else aiRows = oSettings.aiDisplayMaster; // all row numbers
+
+	// set up data array	
+	var asResultData = new Array();
+	
+	for (var i=0,c=aiRows.length; i<c; i++) {
+		iRow = aiRows[i];
+		var aData = this.fnGetData(iRow);
+		var sValue = aData[iColumn];
+		
+		// ignore empty values?
+		if (bIgnoreEmpty == true && sValue.length == 0) continue;
+
+		// ignore unique values?
+		else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
+		
+		// else push the value onto the result data array
+		else asResultData.push(sValue);
+	}
+	
+	return asResultData;
+}}(jQuery));
+
+
+function fnCreateSelect( aData )
+{
+	var r='<select><option value=""></option>', i, iLen=aData.length;
+	for ( i=0 ; i<iLen ; i++ )
+	{
+		r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
+	}
+	return r+'</select>';
+}
+
+
+$(document).ready(function() {
+	/* Initialise the DataTable */
+	var oTable = $('#example').dataTable( {
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+	
+	/* Add a select menu for each TH element in the table footer */
+	$("tfoot th").each( function ( i ) {
+		this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
+		$('select', this).change( function () {
+			oTable.fnFilter( $(this).val(), i );
+		} );
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/regex.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/regex.html new file mode 100644 index 0000000..2ea7a17 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/regex.html @@ -0,0 +1,726 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables filtering API example +
+ +

Preamble

+

Filtering a table is one of the most common user interactions with a DataTables table, and DataTables provides a number of methods for you to control this interaction. There is a global filter, and a filter for each individual column. The global filter acts on each column.

+

Each filter (global or column) can be marked as a regular expression (allowing you to create very complex interactions) and as a smart filter or not. When smart filtering is enabled on a particular filter, DataTables will modify the user input string to a complex regular expression which can make filtering more intuitive.

+

This example allows you to "play" with the various filtering options that DataTables provides.

+ +

Live example

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TargetFilter textTreat as regexUse smart filter
Global filtering
Column 1
Column 2
Column 3
Column 4
Column 5
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5,5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1,7A
GeckoFirefox 1.5Win 98+ / OSX.2+1,8A
GeckoFirefox 2.0Win 98+ / OSX.2+1,8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1,9A
GeckoCamino 1.0OSX.2+1,8A
GeckoCamino 1.5OSX.3+1,8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1,7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1,8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1,1A
GeckoMozilla 1.2Win 95+ / OSX.1+1,2A
GeckoMozilla 1.3Win 95+ / OSX.1+1,3A
GeckoMozilla 1.4Win 95+ / OSX.1+1,4A
GeckoMozilla 1.5Win 95+ / OSX.1+1,5A
GeckoMozilla 1.6Win 95+ / OSX.1+1,6A
GeckoMozilla 1.7Win 98+ / OSX.1+1,7A
GeckoMozilla 1.8Win 98+ / OSX.1+1,8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1,8A
GeckoEpiphany 2.20Gnome1,8A
WebkitSafari 1.2OSX.3125,5A
WebkitSafari 1.3OSX.3312,8A
WebkitSafari 2.0OSX.4+419,3A
WebkitSafari 3.0OSX.4+522,1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420,1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8,5C/A1
KHTMLKonqureror 3.1KDE 3.13,1C
KHTMLKonqureror 3.3KDE 3.33,3A
KHTMLKonqureror 3.5KDE 3.53,5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
function fnFilterGlobal ()
+{
+	$('#example').dataTable().fnFilter( 
+		$("#global_filter").val(),
+		null, 
+		$("#global_regex")[0].checked, 
+		$("#global_smart")[0].checked
+	);
+}
+
+function fnFilterColumn ( i )
+{
+	$('#example').dataTable().fnFilter( 
+		$("#col"+(i+1)+"_filter").val(),
+		i, 
+		$("#col"+(i+1)+"_regex")[0].checked, 
+		$("#col"+(i+1)+"_smart")[0].checked
+	);
+}
+
+$(document).ready(function() {
+	$('#example').dataTable();
+	
+	$("#global_filter").keyup( fnFilterGlobal );
+	$("#global_regex").click( fnFilterGlobal );
+	$("#global_smart").click( fnFilterGlobal );
+	
+	$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
+	$("#col1_regex").click(  function() { fnFilterColumn( 0 ); } );
+	$("#col1_smart").click(  function() { fnFilterColumn( 0 ); } );
+	
+	// ... etc for the other four columns
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/row_details.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/row_details.html new file mode 100644 index 0000000..f7f73dc --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/row_details.html @@ -0,0 +1,705 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables hidden row details example +
+ +

Preamble

+

DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
/* Formating function for row details */
+function fnFormatDetails ( oTable, nTr )
+{
+	var aData = oTable.fnGetData( nTr );
+	var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
+	sOut += '<tr><td>Rendering engine:</td><td>'+aData[1]+' '+aData[4]+'</td></tr>';
+	sOut += '<tr><td>Link to source:</td><td>Could provide a link here</td></tr>';
+	sOut += '<tr><td>Extra info:</td><td>And any further details here (images etc)</td></tr>';
+	sOut += '</table>';
+	
+	return sOut;
+}
+
+$(document).ready(function() {
+	/*
+	 * Insert a 'details' column to the table
+	 */
+	var nCloneTh = document.createElement( 'th' );
+	var nCloneTd = document.createElement( 'td' );
+	nCloneTd.innerHTML = '<img src="../examples_support/details_open.png">';
+	nCloneTd.className = "center";
+	
+	$('#example thead tr').each( function () {
+		this.insertBefore( nCloneTh, this.childNodes[0] );
+	} );
+	
+	$('#example tbody tr').each( function () {
+		this.insertBefore(  nCloneTd.cloneNode( true ), this.childNodes[0] );
+	} );
+	
+	/*
+	 * Initialse DataTables, with no sorting on the 'details' column
+	 */
+	var oTable = $('#example').dataTable( {
+		"aoColumnDefs": [
+			{ "bSortable": false, "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[1, 'asc']]
+	});
+	
+	/* Add event listener for opening and closing details
+	 * Note that the indicator for showing which row is open is not controlled by DataTables,
+	 * rather it is done here
+	 */
+	$('#example tbody td img').live('click', function () {
+		var nTr = $(this).parents('tr')[0];
+		if ( oTable.fnIsOpen(nTr) )
+		{
+			/* This row is already open - close it */
+			this.src = "../examples_support/details_open.png";
+			oTable.fnClose( nTr );
+		}
+		else
+		{
+			/* Open this row */
+			this.src = "../examples_support/details_close.png";
+			oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
+		}
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_row.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_row.html new file mode 100644 index 0000000..8b6fbc5 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_row.html @@ -0,0 +1,630 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables row select example +
+ +

Preamble

+

It can be quite useful at times to provide the user with the option to select rows in a DataTable. This can be done by simply using a click event to add/remove a class on the table rows. The the selected rows are then provided through the custom function fnGetSelected() for later processing.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	/* Add/remove class to a row when clicked on */
+	$('#example tr').click( function() {
+		$(this).toggleClass('row_selected');
+	} );
+	
+	/* Init the table */
+	var oTable = $('#example').dataTable( );
+} );
+
+/*
+ * I don't actually use this here, but it is provided as it might be useful and demonstrates
+ * getting the TR nodes from DataTables
+ */
+function fnGetSelected( oTableLocal )
+{
+	return oTableLocal.$('tr.row_selected');
+}
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_single_row.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_single_row.html new file mode 100644 index 0000000..d8fbdfa --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/select_single_row.html @@ -0,0 +1,659 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables row select example +
+ +

Preamble

+

It can be quite useful at times to provide the user with the option to select rows in a DataTable. In this example we use standard jQuery 'click' events to add a class to table rows to indicate that they have been selected. Note that we use oTable.$() when working with rows in the table to ensure that all rows are considered, regardless of paging and filtering.

+ +

Live example

+

Delete selected row

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
var oTable;
+
+$(document).ready(function() {
+	/* Add a click handler to the rows - this could be used as a callback */
+	$("#example tbody tr").click( function( e ) {
+		if ( $(this).hasClass('row_selected') ) {
+			$(this).removeClass('row_selected');
+		}
+		else {
+			oTable.$('tr.row_selected').removeClass('row_selected');
+			$(this).addClass('row_selected');
+		}
+	});
+	
+	/* Add a click handler for the delete row */
+	$('#delete').click( function() {
+		var anSelected = fnGetSelected( oTable );
+		if ( anSelected.length !== 0 ) {
+			oTable.fnDeleteRow( anSelected[0] );
+		}
+	} );
+	
+	/* Init the table */
+	oTable = $('#example').dataTable( );
+} );
+
+
+/* Get the rows which are currently selected */
+function fnGetSelected( oTableLocal )
+{
+	return oTableLocal.$('tr.row_selected');
+}
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/show_hide.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/show_hide.html new file mode 100644 index 0000000..f385c78 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/show_hide.html @@ -0,0 +1,630 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables show and hide columns dynamically example +
+ +

Preamble

+

This example shows how you can make use of the fnSetColumnVis() API function to show and hide columns in a table dynamically, after the table has been initialised (we've also got scrolling enabled here, although that is not required for the API function to work).

+ + Toggle column 1
+ Toggle column 2
+ Toggle column 3
+ Toggle column 4
+ Toggle column 5
+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": "200px",
+		"bPaginate": false
+	} );
+} );
+
+function fnShowHide( iCol )
+{
+	/* Get the DataTables object again - this is not a recreation, just a get of the object */
+	var oTable = $('#example').dataTable();
+	
+	var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
+	oTable.fnSetColumnVis( iCol, bVis ? false : true );
+}
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/tabs_and_scrolling.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/tabs_and_scrolling.html new file mode 100644 index 0000000..c370ad8 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/api/tabs_and_scrolling.html @@ -0,0 +1,456 @@ + + + + + + + DataTables example + + + + + + + +
+
+ DataTables scrolling and jQuery UI tabs +
+ +

Preamble

+

This example shows how DataTables with scrolling can be used together with jQuery UI tabs (or indeed any other method whereby the table is in a hidden (display:none) element when it is initialised). The reason this requires special consideration, is that when DataTables is initialised and it is in a hidden element, the browser doesn't have any measurements with which to give DataTables, and this will require in the misalignment of columns when scrolling is enabled.

+

The method to get around this is to call the fnAdjustColumnSizing API function. This function will calculate the column widths that are needed based on the current data and then redraw the table - which is exactly what is needed when the table becomes visible for the first time. For this we use the 'show' method provided by jQuery UI tables. We check to see if the DataTable has been created or not (note the extra selector for 'div.dataTables_scrollBody', this is added when the DataTable is initialised). If the table has been initialised, we re-size it. An optimisation could be added to re-size only of the first showing of the table.

+ +

Live example

+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionGrade
Rendering engineBrowserPlatform(s)Engine versionGrade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionGrade
Rendering engineBrowserPlatform(s)Engine versionGrade
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
+
+
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$("#tabs").tabs( {
+		"show": function(event, ui) {
+			var table = $.fn.dataTable.fnTables(true);
+			if ( table.length > 0 ) {
+				$(table).dataTable().fnAdjustColumnSizing();
+			}
+		}
+	} );
+	
+	$('table.display').dataTable( {
+		"sScrollY": "200px",
+		"bScrollCollapse": true,
+		"bPaginate": false,
+		"bJQueryUI": true,
+		"aoColumnDefs": [
+			{ "sWidth": "10%", "aTargets": [ -1 ] }
+		]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/alt_pagination.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/alt_pagination.html new file mode 100644 index 0000000..d9b58ff --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/alt_pagination.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables alternative pagination example +
+ +

Preamble

+

The page controls which are used by default in DataTables (forward and backward buttons only) are great for most situations, but there are cases where you may wish to customise the controls presented to the end user. This is made simple by DataTables through its extensible pagination mechanism. There are two types of pagination controls built into DataTables: two_button (default) and full_numbers. To switch between these two types, use the sPaginationType initialisation parameter. You can add additional types of pagination control by extending the $.fn.dataTableExt.oPagination object.

+

Note also that the number of pages which are shown with direct links (the 1, 2, 3...) can be changed by setting the variable jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages (default 5). Odd numbers are best to keep the display even.

+

The example below shows the full_numbers type of pagination, where 'first', 'previous', 'next' and 'last' buttons are presented, as well as the five pages around the current page.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Trident + Internet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sPaginationType": "full_numbers"
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base.html new file mode 100644 index 0000000..ecc619e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base.html @@ -0,0 +1,596 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables base example (CDN CSS) +
+ +

Preamble

+

DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base_themeroller.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base_themeroller.html new file mode 100644 index 0000000..2f84d46 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/base_themeroller.html @@ -0,0 +1,592 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables base example (CDN CSS) +
+ +

Preamble

+

DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/complex_header.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/complex_header.html new file mode 100644 index 0000000..b9ecdcf --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/complex_header.html @@ -0,0 +1,606 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables complex header example (row and colspans) +
+ +

Preamble

+

When using tables to display data, you will often wish to display column information in groups. DataTables fully supports colspan and rowspans in the header, assigning the required sorting listeners to the TH element suitable for that column. Each column must have one TH cell (and only one) which is unique to it for the listeners to be added. The example shown below has the core browser information grouped together.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserDetails
Platform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Details
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/dom.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/dom.html new file mode 100644 index 0000000..3603b4b --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/dom.html @@ -0,0 +1,619 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables DOM positioning example +
+ +

Preamble

+

When customising DataTables for your own usage, you might find that the default position of the feature elements (filter input etc) is not quite to your liking. To address this issue DataTables takes inspiration from the CSS 3 Advanced Layout Module and provides the sDom initialisation parameter which can be set to indicate where you which particular features to appear in the DOM. You can also specify div wrapping containers (with classes) to provide complete layout flexibility. The syntax available is:

+
    +
  • l - Length changing
  • +
  • f - Filtering input
  • +
  • t - The table!
  • +
  • i - Information
  • +
  • p - Pagination
  • +
  • r - pRocessing
  • +
  • < and > - div elements
  • +
  • <"class" and > - div with a class
  • +
  • Examples: <"wrapper"flipt>, <lf<t>ip>
  • +
+

In the example below I've moved the table information to the top of the table, and all the interaction elements to the bottom, each wrapper in a container div.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Trident + Internet + Explorer + 4.0 + Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '<"top"i>rt<"bottom"flp><"clear">'
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/filter_only.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/filter_only.html new file mode 100644 index 0000000..f7fa9f0 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/filter_only.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables with only the filter feature +
+ +

Preamble

+

Disabling features that you don't wish to use for a particular table is easily done by setting a variable in the initialisation object. In the following example only the filter feature is left enabled (although I've explicitly declared it as enabled).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet Explorer 4.0Win 95+4X
TridentInternet Explorer 5.0Win 95+5C
TridentInternet Explorer 5.5Win 95+5.5A
TridentInternet Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bPaginate": false,
+		"bLengthChange": false,
+		"bFilter": true,
+		"bSort": false,
+		"bInfo": false,
+		"bAutoWidth": false
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/flexible_width.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/flexible_width.html new file mode 100644 index 0000000..93279f7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/flexible_width.html @@ -0,0 +1,602 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables - flexible width example +
+ +

Preamble

+

Often you may want to have your table resize dynamically with the page. Typically this is done by assigning width:100% in your CSS, but this presents a problem for Javascript since it can be very hard to get that relative size, rather than the absolute pixels. As such, if you apply the width attribute to the HTML table + tag, this will be used as the width for the table (overruling any CSS styles).

+

This example shows a table width width="100%" and the container is also flexible width, so as the window is resized, the table will also resize dynamically.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/hidden_columns.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/hidden_columns.html new file mode 100644 index 0000000..3ffda27 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/hidden_columns.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables with hidden columns +
+ +

Preamble

+

There are times when you might find it useful to display only a sub-set of the information that was available in the original table. For example you might want to reduce the amount of data shown on screen to make it clearer for the user. This hidden data can still be filtered upon allowing the user access to that data (for example 'tag' information for a row entry), or this can be disabled. In the table below both the platform and engine version columns have been hidden, the former is searchable, the latter is not.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet Explorer 4.0Win 95+4X
TridentInternet Explorer 5.0Win 95+5C
TridentInternet Explorer 5.5Win 95+5.5A
TridentInternet Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumnDefs": [ 
+						{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+						{ "bVisible": false, "aTargets": [ 3 ] }
+					] } );
+			} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/language.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/language.html new file mode 100644 index 0000000..7a34d9e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/language.html @@ -0,0 +1,612 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables dynamic language +
+ +

Preamble

+

Changing the language information displayed by DataTables is as simple as passing in a language object to the dataTable constructor. The example above shows a different set of English language definitions to be used, rather than the defaults.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet Explorer 4.0Win 95+4X
TridentInternet Explorer 5.0Win 95+5C
TridentInternet Explorer 5.5Win 95+5.5A
TridentInternet Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+$('#example').dataTable( {
+		"oLanguage": {
+			"sLengthMenu": "Display _MENU_ records per page",
+			"sZeroRecords": "Nothing found - sorry",
+			"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
+			"sInfoEmpty": "Showing 0 to 0 of 0 records",
+			"sInfoFiltered": "(filtered from _MAX_ total records)"
+		}
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multi_col_sort.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multi_col_sort.html new file mode 100644 index 0000000..f9bb4c4 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multi_col_sort.html @@ -0,0 +1,635 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables multi column and custom sort example +
+ +

Preamble

+

As you would expect with a desktop application, DataTables allows you to sort by multiple columns at the same time. This multiple sorting mechanism is always active if the bSort initialiser is true (it is by default) and the end user can activate it by 'shift' clicking on the column they want to add to the sort. You can also pass in an array of information using the aaSorting initialiser, as I have done in the example below there the first column is sorted as the primary column and the second one then used if the elements in the first column match. As many columns as you wish can be added to the sort.

+

DataTables also provides a method to add your own sorting functions, to extend those built into DataTables. This can be very useful if you wish to sort on data formats such as currency and non-Javascript standard date formats (this natural sort algorithm is a popular useage). This is achieved by extending the jQuery.fn.dataTableExt object with ascending and descending sort functions. In the example below I've added case sensitive sorting functions.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
/* Define two custom functions (asc and desc) for string sorting */
+jQuery.fn.dataTableExt.oSort['string-case-asc']  = function(x,y) {
+	return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+};
+
+jQuery.fn.dataTableExt.oSort['string-case-desc'] = function(x,y) {
+	return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+};
+
+$(document).ready(function() {
+	/* Build the DataTable with third column using our custom sort functions */
+	$('#example').dataTable( {
+		"aaSorting": [ [0,'asc'], [1,'asc'] ],
+		"aoColumns": [
+			null,
+			null,
+			{ "sType": 'string-case' },
+			null,
+			null
+		]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multiple_tables.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multiple_tables.html new file mode 100644 index 0000000..8f442cb --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/multiple_tables.html @@ -0,0 +1,416 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables multiple tables example +
+ +

Preamble

+

Using standard jQuery selector syntax with DataTables it is trivial to initialise multiple tables with a single line of Javascript, as shown below. All tables are completely independent, but share the parameters passed thought the initialiser object (for example if you specific the Spanish language file, all tables will be shown in Spanish).

+ +

Live example

+ +

Trident based browsers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BrowserPlatform(s)Engine versionCSS grade
Internet + Explorer 4.0Win 95+4X
Internet + Explorer 5.0Win 95+5C
Internet + Explorer 5.5Win 95+5.5A
Internet + Explorer 6Win 98+6A
Internet Explorer 7Win XP SP2+7A
AOL browser (AOL desktop)Win XP6A
+
+
+ + +

Gecko based browsers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BrowserPlatform(s)Engine versionCSS grade
Firefox 1.0Win 98+ / OSX.2+1.7A
Firefox 1.5Win 98+ / OSX.2+1.8A
Firefox 2.0Win 98+ / OSX.2+1.8A
Firefox 3.0Win 2k+ / OSX.3+1.9A
Camino 1.0OSX.2+1.8A
Camino 1.5OSX.3+1.8A
Netscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
Netscape Browser 8Win 98SE+1.7A
Netscape Navigator 9Win 98+ / OSX.2+1.8A
Mozilla 1.0Win 95+ / OSX.1+1A
Mozilla 1.1Win 95+ / OSX.1+1.1A
Mozilla 1.2Win 95+ / OSX.1+1.2A
Mozilla 1.3Win 95+ / OSX.1+1.3A
Mozilla 1.4Win 95+ / OSX.1+1.4A
Mozilla 1.5Win 95+ / OSX.1+1.5A
Mozilla 1.6Win 95+ / OSX.1+1.6A
Mozilla 1.7Win 98+ / OSX.1+1.7A
Mozilla 1.8Win 98+ / OSX.1+1.8A
Seamonkey 1.1Win 98+ / OSX.2+1.8A
Epiphany 2.20Gnome1.8A
+
+
+ + +

WebKit based browsers (note no platform)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BrowserEngine versionCSS grade
Safari 1.2125.5A
Safari 1.3312.8A
Safari 2.0419.3A
Safari 3.0522.1A
OmniWeb 5.5420A
iPod Touch / iPhone420.1A
S60413A
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('.dataTable').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_x.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_x.html new file mode 100644 index 0000000..2cc5594 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_x.html @@ -0,0 +1,610 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables horizontal scrolling example +
+ +

Preamble

+

This DataTables horizontal scrolling example shows horizontal scrolling on a DataTable, which is very useful for when you have a wide table, with a large number of columns to display, but want to constrain it to a limited horizontal display area. To enable x scrolling simply set the sScrollX parameter to be whatever you want the container wrapper's width to be (any CSS measurement is acceptable, or just a number which is treated as pixels). Note also that sScrollXInner is used here to force the table to be wider than is strictly needed. You may or may not want to include this parameter depending on your application.

+

Also shown in this example is the use of a 'collapsing scroll table' by using bScrollCollapse. When this parameter is set to true, the table size will 'collapse' down to match the number of rows, if the table height is smaller than the scrollable area.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "110%",
+		"bScrollCollapse": true
+	} );
+} );
+ + + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_xy.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_xy.html new file mode 100644 index 0000000..1099e74 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_xy.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables horizontal and vertical scrolling example +
+ +

Preamble

+

In this example you can see DataTables doing horizontal and vertical scrolling at the same time. Note also that pagination is enabled, and the scrolling accounts for this.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": 200,
+		"sScrollX": "100%",
+		"sScrollXInner": "110%"
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y.html new file mode 100644 index 0000000..da6a6ec --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables vertical scrolling example +
+ +

Preamble

+

This example shows the DataTables table body scrolling in the vertical direction. This can generally be seen as an alternative method to pagination for displaying a large table in a fairly small vertical area, and as such pagination has been disabled here (note that this is not mandatory, it will work just fine with pagination enabled as well!). The example is set up to show grid lines using CSS, which is useful for alignment, both for testing and end user usability. To enable y scrolling simply set the sScrollY parameter to be whatever you want the container wrapper's height to be (any CSS measurement is acceptable, or just a number which is treated as pixels).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": "200px",
+		"bPaginate": false,
+		"bScrollCollapse": true
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_infinite.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_infinite.html new file mode 100644 index 0000000..31c1cb2 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_infinite.html @@ -0,0 +1,610 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables infinite vertical scrolling example +
+ +

Preamble

+

This example shows the DataTables table body scrolling in the vertical direction with infinite scrolling. The idea of infinite scrolling means that data will be added to the table dynamically, as and when needed by the user scrolling the table. A sub-set of the data is loaded initially, and more added as needed (technically of course, it is not "infinite" since it will stop loading data at the end of the data set!). Note that pagination much be enabled for infinite scrolling to work, but the pagination controls will not be shown (they could be, but can cause very confusing user interaction).

+

DataTables' infinite scroll can be used with any of the four data sources supported, and they do not require any modification to work (including server-side scripts).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bScrollInfinite": true,
+		"bScrollCollapse": true,
+		"sScrollY": "200px"
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_theme.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_theme.html new file mode 100644 index 0000000..06c04f7 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/scroll_y_theme.html @@ -0,0 +1,609 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables vertical scrolling with jQuery UI ThemeRoller example +
+ +

Preamble

+

This example is an extension of the vertical scrolling example, showing DataTables ability to be themed by jQuery UI's ThemeRoller.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": 200,
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers"
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/state_save.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/state_save.html new file mode 100644 index 0000000..04debaf --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/state_save.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables state saving example +
+ +

Preamble

+

DataTables can use cookies in the end user's web-browser in order to store it's state after each change in drawing. What this means is that if the user were to reload the page, the table should remain exactly as it was (length, filtering, pagination and sorting). This feature is disabled by default, but can be easily enabled using the bStateSave initialisation parameter as shown in this example. Note also that the duration of the cookie can be set using the iCookieDuration initialisation parameter (which is in seconds).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bStateSave": true
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/table_sorting.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/table_sorting.html new file mode 100644 index 0000000..6d47c92 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/table_sorting.html @@ -0,0 +1,604 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables table sorting example +
+ +

Preamble

+

With DataTables you can alter the sorting characteristics of the table at initialisation time. Using the aaSorting initialisation parameter, you can get the table exactly how you want to present the information. The aaSorting parameter is an array of arrays where the first value is the column to sort on, and the second is 'asc' or 'desc' as required (it is a double array for multi-column sorting). The table below is sorted (descending) by the CSS grade. Note also that the 'Engine version' column is automatically detected as a numeric column and sorted accordingly. Finally, also note that "asSorting" has been defined for the column in question for this example. The reason for this is that DataTables uses ["asc","desc"] for sorting order by default, but we would in this case prefer "desc" to be given first priority.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"aaSorting": [[ 4, "desc" ]]
+	} );
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/themes.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/themes.html new file mode 100644 index 0000000..d41a9bc --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/themes.html @@ -0,0 +1,598 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables with jQuery UI themes example +
+ +

Preamble

+

Styling widgets such as DataTables can often take a considerable amount of time to fully integrate it into your site/application, with the demo styles as a base. This holds true for all widgets, and the jQuery UI team have addressed this issue by introducing themes through their excellent ThemeRoller. DataTables has full support for ThemeRoller created themes, all you need to do is enable the bJQueryUI flag in the initialisation object, and the required mark-up and classes will be added by DataTables.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	oTable = $('#example').dataTable({
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers"
+	});
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/zero_config.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/zero_config.html new file mode 100644 index 0000000..55c1d42 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/basic_init/zero_config.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables zero configuration example +
+ +

Preamble

+

DataTables has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+ 4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/ajax.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/ajax.html new file mode 100644 index 0000000..48d5e00 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/ajax.html @@ -0,0 +1,208 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables AJAX source example +
+ +

Preamble

+

Although DataTables is built from the principle of progressive enhancement, it is often useful to be able to construct a table from an AJAX source. This can be done in one of two ways - either using the aaData initialisation parameter which takes an array of data, or using the sAjaxSource initialisation parameter which will have DataTables go to that source with an XHR call and load data from there. This example shows the latter method in action. DataTables expects an object with an array called "aaData" with the data source.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": '../ajax/sources/arrays.txt'
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/dom.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/dom.html new file mode 100644 index 0000000..95ec0ea --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/dom.html @@ -0,0 +1,600 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables zero configuration example +
+ +

Preamble

+

The foundation for DataTables is progressive enhancement, so it is very adept at reading table information directly from the DOM. Therefore, if your user's browser is capable the user will get a DataTables enhanced experience. Otherwise they get the plain HTML.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet + Explorer 4.0Win 95+4X
TridentInternet + Explorer 5.0Win 95+5C
TridentInternet + Explorer 5.5Win 95+5.5A
TridentInternet + Explorer 6Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable();
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/js_array.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/js_array.html new file mode 100644 index 0000000..7bac640 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/js_array.html @@ -0,0 +1,289 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables dynamic creation example +
+ +

Preamble

+

At times you will wish to be able to create a table from dynamic information passed directly to DataTables, rather than having it read from the document. This is achieved using the "aaData" array in the initialisation object. A table node must first be created before the initialiser is called (as shown in the code below). This is also useful for optimisation - if you are able to format the data as required, this method can save a lot of DOM parsing to create a table.

+ +

Live example

+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
+	$('#example').dataTable( {
+		"aaData": [
+			/* Reduced data set */
+			[ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
+			[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
+			[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
+			[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
+			[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
+			[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
+			[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
+			[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
+			[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
+			[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
+			[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
+			[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
+		],
+		"aoColumns": [
+			{ "sTitle": "Engine" },
+			{ "sTitle": "Browser" },
+			{ "sTitle": "Platform" },
+			{ "sTitle": "Version", "sClass": "center" },
+			{
+				"sTitle": "Grade",
+				"sClass": "center",
+				"fnRender": function(obj) {
+					var sReturn = obj.aData[ obj.iDataColumn ];
+					if ( sReturn == "A" ) {
+						sReturn = "<b>A</b>";
+					}
+					return sReturn;
+				}
+			}
+		]
+	} );	
+} );
+ + + + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/server_side.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/server_side.html new file mode 100644 index 0000000..6579993 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/data_sources/server_side.html @@ -0,0 +1,394 @@ + + + + + + + DataTables example + + + + + + +
+
+ DataTables server-side processing example +
+ +

Preamble

+

There are many ways to get your data into DataTables, and if you are working with seriously large databases, you might want to consider using the server-side options that DataTables provides. Basically all of the paging, filtering, sorting etc that DataTables does can be handed off to a server (or any other data source - Google Gears or Adobe Air for example!) and DataTables is just an events and display module.

+

The example here shows a very simple display of the CSS data (used in all my other examples), but in this instance coming from the server on each draw. Filtering, multi-column sorting etc all work as you would expect.

+ +

Live example

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Rendering engineBrowserPlatform(s)Engine versionCSS grade
Loading data from server
Rendering engineBrowserPlatform(s)Engine versionCSS grade
+
+
+ + +

Initialisation code

+
$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../server_side/scripts/server_processing.php"
+	} );
+} );
+ + + +

Server response

+

The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.

+

+			
+			
+			

Server side (PHP) code

+
<?php
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	$sOrder = "";
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
+			{
+				$sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
+				 	mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			$sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i<count($aColumns) ; $i++ )
+	{
+		if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."`
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+		";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(`".$sIndexColumn."`)
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$output = array(
+		"sEcho" => intval($_GET['sEcho']),
+		"iTotalRecords" => $iTotal,
+		"iTotalDisplayRecords" => $iFilteredTotal,
+		"aaData" => array()
+	);
+	
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$row = array();
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' column */
+				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$row[] = $aRow[ $aColumns[$i] ];
+			}
+		}
+		$output['aaData'][] = $row;
+	}
+	
+	echo json_encode( $output );
+?>
+ + +

Other examples

+ + + + + + +
+ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/data.sql b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/data.sql new file mode 100644 index 0000000..2958b13 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/data.sql @@ -0,0 +1,67 @@ +CREATE TABLE IF NOT EXISTS `ajax` ( + `id` int(10) NOT NULL auto_increment, + `engine` varchar(255) NOT NULL default '', + `browser` varchar(255) NOT NULL default '', + `platform` varchar(255) NOT NULL default '', + `version` float NOT NULL default '0', + `grade` varchar(20) NOT NULL default '', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 6', 'Win 98+', '6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 7', 'Win XP SP2+', '7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'AOL browser (AOL desktop)', 'Win XP', '6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.0', 'Win 98+ / OSX.2+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.5', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 2.0', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 3.0', 'Win 2k+ / OSX.3+', '1.9', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.0', 'OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.5', 'OSX.3+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape 7.2', 'Win 95+ / Mac OS 8.6-9.2', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Browser 8', 'Win 98SE+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Navigator 9', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.0', 'Win 95+ / OSX.1+', '1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.1', 'Win 95+ / OSX.1+', '1.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.2', 'Win 95+ / OSX.1+', '1.2', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.3', 'Win 95+ / OSX.1+', '1.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.4', 'Win 95+ / OSX.1+', '1.4', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.5', 'Win 95+ / OSX.1+', '1.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.6', 'Win 95+ / OSX.1+', '1.6', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.7', 'Win 98+ / OSX.1+', '1.7', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.8', 'Win 98+ / OSX.1+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Seamonkey 1.1', 'Win 98+ / OSX.2+', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Epiphany 2.20', 'Gnome', '1.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.2', 'OSX.3', '125.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.3', 'OSX.3', '312.8', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 2.0', 'OSX.4+', '419.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 3.0', 'OSX.4+', '522.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'OmniWeb 5.5', 'OSX.4+', '420', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'iPod Touch / iPhone', 'iPod', '420.1', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'S60', 'S60', '413', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.0', 'Win 95+ / OSX.1+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.5', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.0', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.5', 'Win 95+ / OSX.2+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.0', 'Win 95+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.2', 'Win 88+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.5', 'Win 88+ / OSX.3+', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera for Wii', 'Wii', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nokia N800', 'N800', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nintendo DS browser', 'Nintendo DS', '8.5', 'C/A1' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.1', 'KDE 3.1', '3.1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.3', 'KDE 3.3', '3.3', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.5', 'KDE 3.5', '3.5', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 4.5', 'Mac OS 8-9', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.1', 'Mac OS 7.6-9', '1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.2', 'Mac OS 8-X', '1', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.1', 'Embedded devices', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.4', 'Embedded devices', '-', 'A' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Dillo 0.8', 'Embedded devices', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Links', 'Text only', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Lynx', 'Text only', '-', 'X' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'IE Mobile', 'Windows Mobile 6', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'PSP browser', 'PSP', '-', 'C' ); +INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Other browsers', 'All others', '-', '-', 'U' ); \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/de_DE.txt b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/de_DE.txt new file mode 100644 index 0000000..9f39e3e --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/de_DE.txt @@ -0,0 +1,17 @@ +{ + "sProcessing": "Bitte warten...", + "sLengthMenu": "_MENU_ Einträge anzeigen", + "sZeroRecords": "Keine Einträge vorhanden.", + "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", + "sInfoEmpty": "0 bis 0 von 0 Einträgen", + "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", + "sInfoPostFix": "", + "sSearch": "Suchen", + "sUrl": "", + "oPaginate": { + "sFirst": "Erster", + "sPrevious": "Zurück", + "sNext": "Nächster", + "sLast": "Letzter" + } +} \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_close.png b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_close.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc23c63e22f9883bef72c9e3adae3d5ddfb35cc GIT binary patch literal 841 zcmV-P1GfB$P)DA_on|3pY;aiIaw_AzX~% z0wEzG!5U~A62!y<6#_3!Y0@BA($@0c+jVBUFF+~kfo;CbzTKH`cV=g%b|^n=hzi67 zM5UV3FcF6cUCnu^p}pjrsWm6Ug}98UR-~ZFvWN`g0Fg%+2vP1rl3*$mmwr5rOIH=?}WDABr;u?U4@YDw`9eOu1C&^?L7Z zY;1fZBc9KT-2A-Q9Uc}tJv}1T-7R)sycF4)8NstzNldzAgSOWc2V?31C|17Z<>j$J zAke}0_aQSe0l9^R;<1c^#DEC_0!d$>Do3Jo15TlYl9m;-_3M7y&8+fGbP>p=udnZ^^3rY*Ry8&@-XZS}=H{ef zDUJ>}0_oCdYHA|eDvG0BC2ghK?XIQGd^|3d(Ko2a8%4c^+ z2RQuxqA|Bf6p=-Yhg81x*8ObQBJv5%iB0 zU9{XrXRDi=!8bAj&V~kvL?Uy+VDJ@gXo|Fa=^duiBKhvUSnKK%G5>85_4~!w&Q6gS z9~Xt4ozl{)vr6y0nuGJKj&rJgrBbPcMMU#|wJ-Lc4fdkiFZ`>)vh)56_#?mow%h=n ThIkt{00000NkvXXu0mjfW_^Rc literal 0 HcmV?d00001 diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_open.png b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/details_open.png new file mode 100644 index 0000000000000000000000000000000000000000..6f034d0f2d5c7902dce190355b12defdc07d6c9a GIT binary patch literal 881 zcmV-%1CIQOP)P5xVIgh(4gM3Zjdy!n~2N zjD^FnHQ1(tR(9cJl^-l~RyvtO-;dMt9M4;+6T9$?ALpFs)Rcr6nirw3t>UzAPx#r5M&8N9I=W>B2)xRbt)puL>xs_c64-H@%#Or zXf!&j>$*muHOWXvHo`VD#lg6MPE~+#^!N8aRTO1|?J`J5He@S&wvbBVO8K%ZpNm8y zAIT}HC7Cxi$gY3tW-XzMtU1`kx+go?tM3CWp(Z#n*^&?X9upjrBoaWeDh>vNcO4E# z)3UM*kH0>GH%mi2IAp}6%}CKyd$~2W6jvjYwyv(OhW7UM zP7O5aPWUzq$A-}#e>#Hw16_xihIJroxfm&IbSiP6!~SxS;g5FTo6ZM`H( zlIh)&4}38nXc|&$DyX^!-nt?1)(-JKW(QQ%jr|ydxA>>z)7I8@S=`cW5N4N`m!G77 zdZMpERgp|rK~d3JRsUp;HJ6lA@hNmr@UjvF zT!Ag6;H&rZ+37vY=g+HO_-wIQtVRQvx7QEFj83+*vi=TLQ+cY^m5t3Z!D|~jv(ZlR zc>I^mX3LW^WSCo>=P5lkaGKBKE#utS*o(YFK~4deqwi1AMVd+US~dit;|^yb25sIpdZA`Wys(O1dAvo2(I ziyc~u+*C?>Z*T8&(cem%afeVS6nDGb_L8EKvNL%#5MBx6)#tXj`d$yLwBMhA-vSH(T>k(8(cOU?00000NkvXX Hu0mjf8E% \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/index.html b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/index.html new file mode 100644 index 0000000..3bf1b6a --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/index.html @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/infiniteScroll.php b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/infiniteScroll.php new file mode 100644 index 0000000..f543dd4 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/infiniteScroll.php @@ -0,0 +1,97 @@ + \ No newline at end of file diff --git a/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery-ui-tabs.js b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery-ui-tabs.js new file mode 100755 index 0000000..7b72633 --- /dev/null +++ b/src/main/resources/web/scripts/DataTables-1.9.1/examples/examples_support/jquery-ui-tabs.js @@ -0,0 +1,65 @@ +/*! + * jQuery UI 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Widget + */ +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/* + * jQuery UI Tabs 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d){function s(){return++u}function v(){return++w}var u=0,w=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
  • #{label}
  • '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k: + * http://www.dyve.net/jquery/?editable + * + */ + +/** + * Version 1.7.1 + * + * ** means there is basic unit tests for this parameter. + * + * @name Jeditable + * @type jQuery + * @param String target (POST) URL or function to send edited content to ** + * @param Hash options additional options + * @param String options[method] method to use to send edited content (POST or PUT) ** + * @param Function options[callback] Function to run after submitting edited content ** + * @param String options[name] POST parameter name of edited content + * @param String options[id] POST parameter name of edited div id + * @param Hash options[submitdata] Extra parameters to send when submitting edited content. + * @param String options[type] text, textarea or select (or any 3rd party input type) ** + * @param Integer options[rows] number of rows if using textarea ** + * @param Integer options[cols] number of columns if using textarea ** + * @param Mixed options[height] 'auto', 'none' or height in pixels ** + * @param Mixed options[width] 'auto', 'none' or width in pixels ** + * @param String options[loadurl] URL to fetch input content before editing ** + * @param String options[loadtype] Request type for load url. Should be GET or POST. + * @param String options[loadtext] Text to display while loading external content. + * @param Mixed options[loaddata] Extra parameters to pass when fetching content before editing. + * @param Mixed options[data] Or content given as paramameter. String or function.** + * @param String options[indicator] indicator html to show when saving + * @param String options[tooltip] optional tooltip text via title attribute ** + * @param String options[event] jQuery event such as 'click' of 'dblclick' ** + * @param String options[submit] submit button value, empty means no button ** + * @param String options[cancel] cancel button value, empty means no button ** + * @param String options[cssclass] CSS class to apply to input form. 'inherit' to copy from parent. ** + * @param String options[style] Style to apply to input form 'inherit' to copy from parent. ** + * @param String options[select] true or false, when true text is highlighted ?? + * @param String options[placeholder] Placeholder text or html to insert when element is empty. ** + * @param String options[onblur] 'cancel', 'submit', 'ignore' or function ?? + * + * @param Function options[onsubmit] function(settings, original) { ... } called before submit + * @param Function options[onreset] function(settings, original) { ... } called before reset + * @param Function options[onerror] function(settings, original, xhr) { ... } called on error + * + * @param Hash options[ajaxoptions] jQuery Ajax options. See docs.jquery.com. + * + */ + +(function($) { + + $.fn.editable = function(target, options) { + + if ('disable' == target) { + $(this).data('disabled.editable', true); + return; + } + if ('enable' == target) { + $(this).data('disabled.editable', false); + return; + } + if ('destroy' == target) { + $(this) + .unbind($(this).data('event.editable')) + .removeData('disabled.editable') + .removeData('event.editable'); + return; + } + + var settings = $.extend({}, $.fn.editable.defaults, {target:target}, options); + + /* setup some functions */ + var plugin = $.editable.types[settings.type].plugin || function() { }; + var submit = $.editable.types[settings.type].submit || function() { }; + var buttons = $.editable.types[settings.type].buttons + || $.editable.types['defaults'].buttons; + var content = $.editable.types[settings.type].content + || $.editable.types['defaults'].content; + var element = $.editable.types[settings.type].element + || $.editable.types['defaults'].element; + var reset = $.editable.types[settings.type].reset + || $.editable.types['defaults'].reset; + var callback = settings.callback || function() { }; + var onedit = settings.onedit || function() { }; + var onsubmit = settings.onsubmit || function() { }; + var onreset = settings.onreset || function() { }; + var onerror = settings.onerror || reset; + + /* show tooltip */ + if (settings.tooltip) { + $(this).attr('title', settings.tooltip); + } + + settings.autowidth = 'auto' == settings.width; + settings.autoheight = 'auto' == settings.height; + + return this.each(function() { + + /* save this to self because this changes when scope changes */ + var self = this; + + /* inlined block elements lose their width and height after first edit */ + /* save them for later use as workaround */ + var savedwidth = $(self).width(); + var savedheight = $(self).height(); + + /* save so it can be later used by $.editable('destroy') */ + $(this).data('event.editable', settings.event); + + /* if element is empty add something clickable (if requested) */ + if (!$.trim($(this).html())) { + $(this).html(settings.placeholder); + } + + $(this).bind(settings.event, function(e) { + + /* abort if disabled for this element */ + if (true === $(this).data('disabled.editable')) { + return; + } + + /* prevent throwing an exeption if edit field is clicked again */ + if (self.editing) { + return; + } + + /* abort if onedit hook returns false */ + if (false === onedit.apply(this, [settings, self])) { + return; + } + + /* prevent default action and bubbling */ + e.preventDefault(); + e.stopPropagation(); + + /* remove tooltip */ + if (settings.tooltip) { + $(self).removeAttr('title'); + } + + /* figure out how wide and tall we are, saved width and height */ + /* are workaround for http://dev.jquery.com/ticket/2190 */ + if (0 == $(self).width()) { + //$(self).css('visibility', 'hidden'); + settings.width = savedwidth; + settings.height = savedheight; + } else { + if (settings.width != 'none') { + settings.width = + settings.autowidth ? $(self).width() : settings.width; + } + if (settings.height != 'none') { + settings.height = + settings.autoheight ? $(self).height() : settings.height; + } + } + //$(this).css('visibility', ''); + + /* remove placeholder text, replace is here because of IE */ + if ($(this).html().toLowerCase().replace(/(;|")/g, '') == + settings.placeholder.toLowerCase().replace(/(;|")/g, '')) { + $(this).html(''); + } + + self.editing = true; + self.revert = $(self).html(); + $(self).html(''); + + /* create the form object */ + var form = $('
    '); + + /* apply css or style or both */ + if (settings.cssclass) { + if ('inherit' == settings.cssclass) { + form.attr('class', $(self).attr('class')); + } else { + form.attr('class', settings.cssclass); + } + } + + if (settings.style) { + if ('inherit' == settings.style) { + form.attr('style', $(self).attr('style')); + /* IE needs the second line or display wont be inherited */ + form.css('display', $(self).css('display')); + } else { + form.attr('style', settings.style); + } + } + + /* add main input element to form and store it in input */ + var input = element.apply(form, [settings, self]); + + /* set input content via POST, GET, given data or existing value */ + var input_content; + + if (settings.loadurl) { + var t = setTimeout(function() { + input.disabled = true; + content.apply(form, [settings.loadtext, settings, self]); + }, 100); + + var loaddata = {}; + loaddata[settings.id] = self.id; + if ($.isFunction(settings.loaddata)) { + $.extend(loaddata, settings.loaddata.apply(self, [self.revert, settings])); + } else { + $.extend(loaddata, settings.loaddata); + } + $.ajax({ + type : settings.loadtype, + url : settings.loadurl, + data : loaddata, + async : false, + success: function(result) { + window.clearTimeout(t); + input_content = result; + input.disabled = false; + } + }); + } else if (settings.data) { + input_content = settings.data; + if ($.isFunction(settings.data)) { + input_content = settings.data.apply(self, [self.revert, settings]); + } + } else { + input_content = self.revert; + } + content.apply(form, [input_content, settings, self]); + + input.attr('name', settings.name); + + /* add buttons to the form */ + buttons.apply(form, [settings, self]); + + /* add created form to self */ + $(self).append(form); + + /* attach 3rd party plugin if requested */ + plugin.apply(form, [settings, self]); + + /* focus to first visible form element */ + $(':input:visible:enabled:first', form).focus(); + + /* highlight input contents when requested */ + if (settings.select) { + input.select(); + } + + /* discard changes if pressing esc */ + input.keydown(function(e) { + if (e.keyCode == 27) { + e.preventDefault(); + //self.reset(); + reset.apply(form, [settings, self]); + } + }); + + /* discard, submit or nothing with changes when clicking outside */ + /* do nothing is usable when navigating with tab */ + var t; + if ('cancel' == settings.onblur) { + input.blur(function(e) { + /* prevent canceling if submit was clicked */ + t = setTimeout(function() { + reset.apply(form, [settings, self]); + }, 500); + }); + } else if ('submit' == settings.onblur) { + input.blur(function(e) { + /* prevent double submit if submit was clicked */ + t = setTimeout(function() { + form.submit(); + }, 200); + }); + } else if ($.isFunction(settings.onblur)) { + input.blur(function(e) { + settings.onblur.apply(self, [input.val(), settings]); + }); + } else { + input.blur(function(e) { + /* TODO: maybe something here */ + }); + } + + form.submit(function(e) { + + if (t) { + clearTimeout(t); + } + + /* do no submit */ + e.preventDefault(); + + /* call before submit hook. */ + /* if it returns false abort submitting */ + if (false !== onsubmit.apply(form, [settings, self])) { + /* custom inputs call before submit hook. */ + /* if it returns false abort submitting */ + if (false !== submit.apply(form, [settings, self])) { + + /* check if given target is function */ + if ($.isFunction(settings.target)) { + var str = settings.target.apply(self, [input.val(), settings]); + $(self).html(str); + self.editing = false; + callback.apply(self, [self.innerHTML, settings]); + /* TODO: this is not dry */ + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + } else { + /* add edited content and id of edited element to POST */ + var submitdata = {}; + submitdata[settings.name] = input.val(); + submitdata[settings.id] = self.id; + /* add extra data to be POST:ed */ + if ($.isFunction(settings.submitdata)) { + $.extend(submitdata, settings.submitdata.apply(self, [self.revert, settings])); + } else { + $.extend(submitdata, settings.submitdata); + } + + /* quick and dirty PUT support */ + if ('PUT' == settings.method) { + submitdata['_method'] = 'put'; + } + + /* show the saving indicator */ + $(self).html(settings.indicator); + + /* defaults for ajaxoptions */ + var ajaxoptions = { + type : 'POST', + data : submitdata, + dataType: 'html', + url : settings.target, + success : function(result, status) { + if (ajaxoptions.dataType == 'html') { + $(self).html(result); + } + self.editing = false; + callback.apply(self, [result, settings]); + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + }, + error : function(xhr, status, error) { + onerror.apply(form, [settings, self, xhr]); + } + }; + + /* override with what is given in settings.ajaxoptions */ + $.extend(ajaxoptions, settings.ajaxoptions); + $.ajax(ajaxoptions); + + } + } + } + + /* show tooltip again */ + $(self).attr('title', settings.tooltip); + + return false; + }); + }); + + /* privileged methods */ + this.reset = function(form) { + /* prevent calling reset twice when blurring */ + if (this.editing) { + /* before reset hook, if it returns false abort reseting */ + if (false !== onreset.apply(form, [settings, self])) { + $(self).html(self.revert); + self.editing = false; + if (!$.trim($(self).html())) { + $(self).html(settings.placeholder); + } + /* show tooltip again */ + if (settings.tooltip) { + $(self).attr('title', settings.tooltip); + } + } + } + }; + }); + + }; + + + $.editable = { + types: { + defaults: { + element : function(settings, original) { + var input = $(''); + $(this).append(input); + return(input); + }, + content : function(string, settings, original) { + $(':input:first', this).val(string); + }, + reset : function(settings, original) { + original.reset(this); + }, + buttons : function(settings, original) { + var form = this; + if (settings.submit) { + /* if given html string use that */ + if (settings.submit.match(/>$/)) { + var submit = $(settings.submit).click(function() { + if (submit.attr("type") != "submit") { + form.submit(); + } + }); + /* otherwise use button with given string as text */ + } else { + var submit = $('