diff --git a/xCAT-UI/css/jquery.dataTables.css b/xCAT-UI/css/jquery.dataTables.css index 58276f626..651ee43c6 100644 --- a/xCAT-UI/css/jquery.dataTables.css +++ b/xCAT-UI/css/jquery.dataTables.css @@ -1,475 +1,519 @@ -/* - * File: demo_table.css - * CVS: $Id$ - * Description: CSS descriptions for DataTables demo pages - * Author: Allan Jardine - * Created: Tue May 12 06:47:22 BST 2009 - * Modified: $Date$ by $Author$ - * Language: CSS - * Project: DataTables - * - * Copyright 2009 Allan Jardine. All Rights Reserved. - * - * *************************************************************************** - * DESCRIPTION - * - * The styles given here are suitable for the demos that are used with the standard DataTables - * distribution (see www.datatables.net). You will most likely wish to modify these styles to - * meet the layout requirements of your site. - * - * Common issues: - * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is - * no conflict between the two pagination types. If you want to use full_numbers pagination - * ensure that you either have "example_alt_pagination" as a body class name, or better yet, - * modify that selector. - * Note that the path used for Images is relative. All images are by default located in - * ../images/ - relative to this CSS file. - */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables features - */ -.dataTables_wrapper { - position: relative; - min-height: 302px; - clear: both; - _height: 302px; - zoom: 1; /* Feeling sorry for IE */ -} - -.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 250px; - height: 30px; - margin-left: -125px; - margin-top: -15px; - padding: 14px 0 2px 0; - border: 1px solid #ddd; - text-align: center; - color: #999; - font-size: 14px; - background-color: white; -} - -.dataTables_length { - width: 40%; - float: left; -} - -.dataTables_filter { - width: 50%; - float: right; - text-align: right; -} - -.dataTables_info { - width: 60%; - float: left; -} - -.dataTables_paginate { - width: 44px; * - width: 50px; - float: right; - text-align: right; -} - -/* Pagination nested */ -.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next - { - height: 19px; - width: 19px; - margin-left: 3px; - float: left; -} - -.paginate_disabled_previous { - background-image: url('../images/back_disabled.jpg'); -} - -.paginate_enabled_previous { - background-image: url('../images/back_enabled.jpg'); -} - -.paginate_disabled_next { - background-image: url('../images/forward_disabled.jpg'); -} - -.paginate_enabled_next { - background-image: url('../images/forward_enabled.jpg'); -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables display - */ -table.display { - margin: 0 auto; - width: 100%; - clear: both; -} - -table.display thead th { - padding: 3px 18px 3px 10px; - border-bottom: 1px solid black; - font-weight: bold; - cursor: pointer; * - cursor: hand; -} - -table.display tfoot th { - padding: 3px 10px; - border-top: 1px solid black; - font-weight: bold; -} - -table.display tr.heading2 td { - border-bottom: 1px solid #aaa; -} - -table.display td { - padding: 3px 10px; -} - -table.display td.center { - text-align: center; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables sorting - */ -.sorting_asc { - background: url('../images/sort_asc.png') no-repeat center right; -} - -.sorting_desc { - background: url('../images/sort_desc.png') no-repeat center right; -} - -.sorting { - background: url('../images/sort_both.png') no-repeat center right; -} - -.sorting_asc_disabled { - background: url('../images/sort_asc_disabled.png') no-repeat center - right; -} - -.sorting_desc_disabled { - background: url('../images/sort_desc_disabled.png') no-repeat center - right; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables row classes - */ -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeC { - background-color: #ddddff; -} - -table.display tr.even.gradeC { - background-color: #eeeeff; -} - -table.display tr.odd.gradeX { - background-color: #ffdddd; -} - -table.display tr.even.gradeX { - background-color: #ffeeee; -} - -table.display tr.odd.gradeU { - background-color: #ddd; -} - -table.display tr.even.gradeU { - background-color: #eee; -} - -tr.odd { - background-color: #E2E4FF; -} - -tr.even { - background-color: white; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Misc - */ -.top,.bottom { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -.top .dataTables_info { - float: none; -} - -.clear { - clear: both; -} - -.dataTables_empty { - text-align: center; -} - -tfoot input { - margin: 0.5em 0; - width: 100%; - color: #444; -} - -tfoot input.search_init { - color: #999; -} - -td.group { - background-color: #d1cfd0; - border-bottom: 2px solid #A19B9E; - border-top: 2px solid #A19B9E; -} - -td.details { - background-color: #d1cfd0; - border: 2px solid #A19B9E; -} - -.example_alt_pagination div.dataTables_info { - width: 40%; -} - -.paging_full_numbers { - width: 400px; - height: 22px; - line-height: 22px; -} - -.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active - { - border: 1px solid #aaa; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - padding: 2px 5px; - margin: 0 3px; - cursor: pointer; * - cursor: hand; -} - -.paging_full_numbers span.paginate_button { - background-color: #ddd; -} - -.paging_full_numbers span.paginate_button:hover { - background-color: #ccc; -} - -.paging_full_numbers span.paginate_active { - background-color: #99B3FF; -} - -table.display tr.even.row_selected td { - background-color: #B0BED9; -} - -table.display tr.odd.row_selected td { - background-color: #9FAFD1; -} - -/* - * Sorting classes for columns - */ /* For the standard odd/even */ -tr.odd td.sorting_1 { - background-color: #D3D6FF; -} - -tr.odd td.sorting_2 { - background-color: #DADCFF; -} - -tr.odd td.sorting_3 { - background-color: #E0E2FF; -} - -tr.even td.sorting_1 { - background-color: #EAEBFF; -} - -tr.even td.sorting_2 { - background-color: #F2F3FF; -} - -tr.even td.sorting_3 { - background-color: #F9F9FF; -} - -/* For the Conditional-CSS grading rows */ /* - Colour calculations (based off the main row colours) - Level 1: - dd > c4 - ee > d5 - Level 2: - dd > d1 - ee > e2 - */ -tr.odd.gradeA td.sorting_1 { - background-color: #c4ffc4; -} - -tr.odd.gradeA td.sorting_2 { - background-color: #d1ffd1; -} - -tr.odd.gradeA td.sorting_3 { - background-color: #d1ffd1; -} - -tr.even.gradeA td.sorting_1 { - background-color: #d5ffd5; -} - -tr.even.gradeA td.sorting_2 { - background-color: #e2ffe2; -} - -tr.even.gradeA td.sorting_3 { - background-color: #e2ffe2; -} - -tr.odd.gradeC td.sorting_1 { - background-color: #c4c4ff; -} - -tr.odd.gradeC td.sorting_2 { - background-color: #d1d1ff; -} - -tr.odd.gradeC td.sorting_3 { - background-color: #d1d1ff; -} - -tr.even.gradeC td.sorting_1 { - background-color: #d5d5ff; -} - -tr.even.gradeC td.sorting_2 { - background-color: #e2e2ff; -} - -tr.even.gradeC td.sorting_3 { - background-color: #e2e2ff; -} - -tr.odd.gradeX td.sorting_1 { - background-color: #ffc4c4; -} - -tr.odd.gradeX td.sorting_2 { - background-color: #ffd1d1; -} - -tr.odd.gradeX td.sorting_3 { - background-color: #ffd1d1; -} - -tr.even.gradeX td.sorting_1 { - background-color: #ffd5d5; -} - -tr.even.gradeX td.sorting_2 { - background-color: #ffe2e2; -} - -tr.even.gradeX td.sorting_3 { - background-color: #ffe2e2; -} - -tr.odd.gradeU td.sorting_1 { - background-color: #c4c4c4; -} - -tr.odd.gradeU td.sorting_2 { - background-color: #d1d1d1; -} - -tr.odd.gradeU td.sorting_3 { - background-color: #d1d1d1; -} - -tr.even.gradeU td.sorting_1 { - background-color: #d5d5d5; -} - -tr.even.gradeU td.sorting_2 { - background-color: #e2e2e2; -} - -tr.even.gradeU td.sorting_3 { - background-color: #e2e2e2; -} - -/* - * Row highlighting 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; -} - -/* - * KeyTable - */ -table.KeyTable td { - border: 3px solid transparent; -} - -table.KeyTable td.focus { - border: 3px solid #3366FF; -} - -table.display tr.gradeA { - background-color: #eeffee; -} - -table.display tr.gradeC { - background-color: #ddddff; -} - -table.display tr.gradeX { - background-color: #ffdddd; -} - -table.display tr.gradeU { - background-color: #ddd; -} - -div.box { - height: 100px; - padding: 10px; - overflow: auto; - border: 1px solid #8080FF; - background-color: #E5E5FF; +/* + * File: demo_table.css + * CVS: $Id$ + * Description: CSS descriptions for DataTables demo pages + * Author: Allan Jardine + * Created: Tue May 12 06:47:22 BST 2009 + * Modified: $Date$ by $Author$ + * Language: CSS + * Project: DataTables + * + * Copyright 2009 Allan Jardine. All Rights Reserved. + * + * *************************************************************************** + * DESCRIPTION + * + * The styles given here are suitable for the demos that are used with the standard DataTables + * distribution (see www.datatables.net). You will most likely wish to modify these styles to + * meet the layout requirements of your site. + * + * Common issues: + * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is + * no conflict between the two pagination types. If you want to use full_numbers pagination + * ensure that you either have "example_alt_pagination" as a body class name, or better yet, + * modify that selector. + * Note that the path used for Images is relative. All images are by default located in + * ../images/ - relative to this CSS file. + */ + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables features + */ +.dataTables_wrapper { + position: relative; + min-height: 302px; + clear: both; + _height: 302px; + zoom: 1; /* Feeling sorry for IE */ +} + +.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 250px; + height: 30px; + margin-left: -125px; + margin-top: -15px; + padding: 14px 0 2px 0; + border: 1px solid #ddd; + text-align: center; + color: #999; + font-size: 14px; + background-color: white; +} + +.dataTables_length { + width: 40%; + float: left; +} + +.dataTables_filter { + width: 50%; + float: right; + text-align: right; +} + +.dataTables_info { + width: 60%; + float: left; +} + +.dataTables_paginate { + width: 44px; * + width: 50px; + float: right; + text-align: right; +} + +/* Pagination nested */ +.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next + { + height: 19px; + width: 19px; + margin-left: 3px; + float: left; +} + +.paginate_disabled_previous { + background-image: url('../images/back_disabled.jpg'); +} + +.paginate_enabled_previous { + background-image: url('../images/back_enabled.jpg'); +} + +.paginate_disabled_next { + background-image: url('../images/forward_disabled.jpg'); +} + +.paginate_enabled_next { + background-image: url('../images/forward_enabled.jpg'); +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables display + */ +table.display { + margin: 0 auto; + clear: both; + width: 100%; + /* Note Firefox 3.5 and before have a bug with border-collapse + * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) + * border-spacing: 0; is one possible option. Conditional-css.com is + * useful for this kind of thing + * + * Further note IE 6/7 has problems when calculating widths with border width. + * It subtracts one px relative to the other browsers from the first column, and + * adds one to the end... + * + * If you want that effect I'd suggest setting a border-top/left on th/td's and + * then filling in the gaps with other borders. + */ +} + +table.display thead th { + padding: 3px 18px 3px 10px; + border-bottom: 1px solid black; + font-weight: bold; + cursor: pointer; * + cursor: hand; +} + +table.display tfoot th { + padding: 3px 18px 3px 10px; + border-top: 1px solid black; + font-weight: bold; +} + +table.display tr.heading2 td { + border-bottom: 1px solid #aaa; +} + +table.display td { + padding: 3px 10px; +} + +table.display td.center { + text-align: center; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables sorting + */ +.sorting_asc { + background: url('../images/sort_asc.png') no-repeat center right; +} + +.sorting_desc { + background: url('../images/sort_desc.png') no-repeat center right; +} + +.sorting { + background: url('../images/sort_both.png') no-repeat center right; +} + +.sorting_asc_disabled { + background: url('../images/sort_asc_disabled.png') no-repeat center + right; +} + +.sorting_desc_disabled { + background: url('../images/sort_desc_disabled.png') no-repeat center + right; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables row classes + */ +table.display tr.odd.gradeA { + background-color: #ddffdd; +} + +table.display tr.even.gradeA { + background-color: #eeffee; +} + +table.display tr.odd.gradeC { + background-color: #ddddff; +} + +table.display tr.even.gradeC { + background-color: #eeeeff; +} + +table.display tr.odd.gradeX { + background-color: #ffdddd; +} + +table.display tr.even.gradeX { + background-color: #ffeeee; +} + +table.display tr.odd.gradeU { + background-color: #ddd; +} + +table.display tr.even.gradeU { + background-color: #eee; +} + +tr.odd { + background-color: #E2E4FF; +} + +tr.even { + background-color: white; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Misc + */ +.dataTables_scroll { + clear: both; +} + +.dataTables_scrollBody { * + margin-top: -1px; +} + +.top,.bottom { + padding: 15px; + background-color: #F5F5F5; + border: 1px solid #CCCCCC; +} + +.top .dataTables_info { + float: none; +} + +.clear { + clear: both; +} + +.dataTables_empty { + text-align: center; +} + +tfoot input { + margin: 0.5em 0; + width: 100%; + color: #444; +} + +tfoot input.search_init { + color: #999; +} + +td.group { + background-color: #d1cfd0; + border-bottom: 2px solid #A19B9E; + border-top: 2px solid #A19B9E; +} + +td.details { + background-color: #d1cfd0; + border: 2px solid #A19B9E; +} + +.example_alt_pagination div.dataTables_info { + width: 40%; +} + +.paging_full_numbers { + width: 400px; + height: 22px; + line-height: 22px; +} + +.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active + { + border: 1px solid #aaa; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + padding: 2px 5px; + margin: 0 3px; + cursor: pointer; * + cursor: hand; +} + +.paging_full_numbers span.paginate_button { + background-color: #ddd; +} + +.paging_full_numbers span.paginate_button:hover { + background-color: #ccc; +} + +.paging_full_numbers span.paginate_active { + background-color: #99B3FF; +} + +table.display tr.even.row_selected td { + background-color: #B0BED9; +} + +table.display tr.odd.row_selected td { + background-color: #9FAFD1; +} + +/* + * Sorting classes for columns + */ /* For the standard odd/even */ +tr.odd td.sorting_1 { + background-color: #D3D6FF; +} + +tr.odd td.sorting_2 { + background-color: #DADCFF; +} + +tr.odd td.sorting_3 { + background-color: #E0E2FF; +} + +tr.even td.sorting_1 { + background-color: #EAEBFF; +} + +tr.even td.sorting_2 { + background-color: #F2F3FF; +} + +tr.even td.sorting_3 { + background-color: #F9F9FF; +} + +/* For the Conditional-CSS grading rows */ /* + Colour calculations (based off the main row colours) + Level 1: + dd > c4 + ee > d5 + Level 2: + dd > d1 + ee > e2 + */ +tr.odd.gradeA td.sorting_1 { + background-color: #c4ffc4; +} + +tr.odd.gradeA td.sorting_2 { + background-color: #d1ffd1; +} + +tr.odd.gradeA td.sorting_3 { + background-color: #d1ffd1; +} + +tr.even.gradeA td.sorting_1 { + background-color: #d5ffd5; +} + +tr.even.gradeA td.sorting_2 { + background-color: #e2ffe2; +} + +tr.even.gradeA td.sorting_3 { + background-color: #e2ffe2; +} + +tr.odd.gradeC td.sorting_1 { + background-color: #c4c4ff; +} + +tr.odd.gradeC td.sorting_2 { + background-color: #d1d1ff; +} + +tr.odd.gradeC td.sorting_3 { + background-color: #d1d1ff; +} + +tr.even.gradeC td.sorting_1 { + background-color: #d5d5ff; +} + +tr.even.gradeC td.sorting_2 { + background-color: #e2e2ff; +} + +tr.even.gradeC td.sorting_3 { + background-color: #e2e2ff; +} + +tr.odd.gradeX td.sorting_1 { + background-color: #ffc4c4; +} + +tr.odd.gradeX td.sorting_2 { + background-color: #ffd1d1; +} + +tr.odd.gradeX td.sorting_3 { + background-color: #ffd1d1; +} + +tr.even.gradeX td.sorting_1 { + background-color: #ffd5d5; +} + +tr.even.gradeX td.sorting_2 { + background-color: #ffe2e2; +} + +tr.even.gradeX td.sorting_3 { + background-color: #ffe2e2; +} + +tr.odd.gradeU td.sorting_1 { + background-color: #c4c4c4; +} + +tr.odd.gradeU td.sorting_2 { + background-color: #d1d1d1; +} + +tr.odd.gradeU td.sorting_3 { + background-color: #d1d1d1; +} + +tr.even.gradeU td.sorting_1 { + background-color: #d5d5d5; +} + +tr.even.gradeU td.sorting_2 { + background-color: #e2e2e2; +} + +tr.even.gradeU td.sorting_3 { + background-color: #e2e2e2; +} + +/* + * Row highlighting 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; +} + +/* + * KeyTable + */ +table.KeyTable td { + border: 3px solid transparent; +} + +table.KeyTable td.focus { + border: 3px solid #3366FF; +} + +table.display tr.gradeA { + background-color: #eeffee; +} + +table.display tr.gradeC { + background-color: #ddddff; +} + +table.display tr.gradeX { + background-color: #ffdddd; +} + +table.display tr.gradeU { + background-color: #ddd; +} + +div.box { + height: 100px; + padding: 10px; + overflow: auto; + border: 1px solid #8080FF; + background-color: #E5E5FF; } \ No newline at end of file diff --git a/xCAT-UI/js/jquery/jquery.dataTables.min.js b/xCAT-UI/js/jquery/jquery.dataTables.min.js index 027e87d36..3eb5a830f 100644 --- a/xCAT-UI/js/jquery/jquery.dataTables.min.js +++ b/xCAT-UI/js/jquery/jquery.dataTables.min.js @@ -1,6 +1,6 @@ /* * File: jquery.dataTables.min.js - * Version: 1.6.2 + * Version: 1.7.4 * Author: Allan Jardine (www.sprymedia.co.uk) * Info: www.datatables.net * @@ -13,2808 +13,130 @@ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. */ -(function($) { - $.fn.dataTableSettings = []; - var _aoSettings = $.fn.dataTableSettings; - $.fn.dataTableExt = {}; - var _oExt = $.fn.dataTableExt; - _oExt.sVersion = "1.6.2"; - _oExt.iApiIndex = 0; - _oExt.oApi = {}; - _oExt.afnFiltering = []; - _oExt.aoFeatures = []; - _oExt.ofnSearch = {}; - _oExt.afnSortData = []; - _oExt.oStdClasses = { - sPagePrevEnabled : "paginate_enabled_previous", - sPagePrevDisabled : "paginate_disabled_previous", - sPageNextEnabled : "paginate_enabled_next", - sPageNextDisabled : "paginate_disabled_next", - sPageJUINext : "", - sPageJUIPrev : "", - sPageButton : "paginate_button", - sPageButtonActive : "paginate_active", - sPageButtonStaticDisabled : "paginate_button", - sPageFirst : "first", - sPagePrevious : "previous", - sPageNext : "next", - sPageLast : "last", - sStripOdd : "odd", - sStripEven : "even", - sRowEmpty : "dataTables_empty", - sWrapper : "dataTables_wrapper", - sFilter : "dataTables_filter", - sInfo : "dataTables_info", - sPaging : "dataTables_paginate paging_", - sLength : "dataTables_length", - sProcessing : "dataTables_processing", - sSortAsc : "sorting_asc", - sSortDesc : "sorting_desc", - sSortable : "sorting", - sSortableAsc : "sorting_asc_disabled", - sSortableDesc : "sorting_desc_disabled", - sSortableNone : "sorting_disabled", - sSortColumn : "sorting_", - sSortJUIAsc : "", - sSortJUIDesc : "", - sSortJUI : "", - sSortJUIAscAllowed : "", - sSortJUIDescAllowed : "" - }; - _oExt.oJUIClasses = { - sPagePrevEnabled : "fg-button ui-state-default ui-corner-left", - sPagePrevDisabled : "fg-button ui-state-default ui-corner-left ui-state-disabled", - sPageNextEnabled : "fg-button ui-state-default ui-corner-right", - sPageNextDisabled : "fg-button ui-state-default ui-corner-right ui-state-disabled", - sPageJUINext : "ui-icon ui-icon-circle-arrow-e", - sPageJUIPrev : "ui-icon ui-icon-circle-arrow-w", - sPageButton : "fg-button ui-state-default", - sPageButtonActive : "fg-button ui-state-default ui-state-disabled", - sPageButtonStaticDisabled : "fg-button ui-state-default ui-state-disabled", - sPageFirst : "first ui-corner-tl ui-corner-bl", - sPagePrevious : "previous", - sPageNext : "next", - sPageLast : "last ui-corner-tr ui-corner-br", - sStripOdd : "odd", - sStripEven : "even", - sRowEmpty : "dataTables_empty", - sWrapper : "dataTables_wrapper", - sFilter : "dataTables_filter", - sInfo : "dataTables_info", - sPaging : "dataTables_paginate fg-buttonset fg-buttonset-multi paging_", - sLength : "dataTables_length", - sProcessing : "dataTables_processing", - sSortAsc : "ui-state-default", - sSortDesc : "ui-state-default", - sSortable : "ui-state-default", - sSortableAsc : "ui-state-default", - sSortableDesc : "ui-state-default", - sSortableNone : "ui-state-default", - sSortColumn : "sorting_", - sSortJUIAsc : "css_right ui-icon ui-icon-triangle-1-n", - sSortJUIDesc : "css_right ui-icon ui-icon-triangle-1-s", - sSortJUI : "css_right ui-icon ui-icon-carat-2-n-s", - sSortJUIAscAllowed : "css_right ui-icon ui-icon-carat-1-n", - sSortJUIDescAllowed : "css_right ui-icon ui-icon-carat-1-s" - }; - _oExt.oPagination = { - two_button : { - fnInit : function(oSettings, nPaging, fnCallbackDraw) { - var nPrevious, nNext, nPreviousInner, nNextInner; - if (!oSettings.bJUI) { - nPrevious = document.createElement("div"); - nNext = document.createElement("div") - } else { - nPrevious = document.createElement("a"); - nNext = document.createElement("a"); - nNextInner = document.createElement("span"); - nNextInner.className = oSettings.oClasses.sPageJUINext; - nNext.appendChild(nNextInner); - nPreviousInner = document.createElement("span"); - nPreviousInner.className = oSettings.oClasses.sPageJUIPrev; - nPrevious.appendChild(nPreviousInner) - } - nPrevious.className = oSettings.oClasses.sPagePrevDisabled; - nNext.className = oSettings.oClasses.sPageNextDisabled; - nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious; - nNext.title = oSettings.oLanguage.oPaginate.sNext; - nPaging.appendChild(nPrevious); - nPaging.appendChild(nNext); - $(nPrevious).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "previous")) { - fnCallbackDraw(oSettings) - } - }); - $(nNext).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "next")) { - fnCallbackDraw(oSettings) - } - }); - $(nPrevious).bind("selectstart", function() { - return false - }); - $(nNext).bind("selectstart", function() { - return false - }); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.p == "undefined") { - nPaging - .setAttribute("id", oSettings.sTableId + "_paginate"); - nPrevious.setAttribute("id", oSettings.sTableId - + "_previous"); - nNext.setAttribute("id", oSettings.sTableId + "_next") - } - }, - fnUpdate : function(oSettings, fnCallbackDraw) { - if (!oSettings.aanFeatures.p) { - return - - } - var an = oSettings.aanFeatures.p; - for ( var i = 0, iLen = an.length; i < iLen; i++) { - if (an[i].childNodes.length !== 0) { - an[i].childNodes[0].className = (oSettings._iDisplayStart === 0) ? oSettings.oClasses.sPagePrevDisabled - : oSettings.oClasses.sPagePrevEnabled; - an[i].childNodes[1].className = (oSettings - .fnDisplayEnd() == oSettings.fnRecordsDisplay()) ? oSettings.oClasses.sPageNextDisabled - : oSettings.oClasses.sPageNextEnabled - } - } - } - }, - iFullNumbersShowPages : 5, - full_numbers : { - fnInit : function(oSettings, nPaging, fnCallbackDraw) { - var nFirst = document.createElement("span"); - var nPrevious = document.createElement("span"); - var nList = document.createElement("span"); - var nNext = document.createElement("span"); - var nLast = document.createElement("span"); - nFirst.innerHTML = oSettings.oLanguage.oPaginate.sFirst; - nPrevious.innerHTML = oSettings.oLanguage.oPaginate.sPrevious; - nNext.innerHTML = oSettings.oLanguage.oPaginate.sNext; - nLast.innerHTML = oSettings.oLanguage.oPaginate.sLast; - var oClasses = oSettings.oClasses; - nFirst.className = oClasses.sPageButton + " " - + oClasses.sPageFirst; - nPrevious.className = oClasses.sPageButton + " " - + oClasses.sPagePrevious; - nNext.className = oClasses.sPageButton + " " - + oClasses.sPageNext; - nLast.className = oClasses.sPageButton + " " - + oClasses.sPageLast; - nPaging.appendChild(nFirst); - nPaging.appendChild(nPrevious); - nPaging.appendChild(nList); - nPaging.appendChild(nNext); - nPaging.appendChild(nLast); - $(nFirst).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "first")) { - fnCallbackDraw(oSettings) - } - }); - $(nPrevious).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "previous")) { - fnCallbackDraw(oSettings) - } - }); - $(nNext).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "next")) { - fnCallbackDraw(oSettings) - } - }); - $(nLast).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "last")) { - fnCallbackDraw(oSettings) - } - }); - $("span", nPaging).bind("mousedown", function() { - return false - }).bind("selectstart", function() { - return false - }); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.p == "undefined") { - nPaging - .setAttribute("id", oSettings.sTableId + "_paginate"); - nFirst.setAttribute("id", oSettings.sTableId + "_first"); - nPrevious.setAttribute("id", oSettings.sTableId - + "_previous"); - nNext.setAttribute("id", oSettings.sTableId + "_next"); - nLast.setAttribute("id", oSettings.sTableId + "_last") - } - }, - fnUpdate : function(oSettings, fnCallbackDraw) { - if (!oSettings.aanFeatures.p) { - return - - } - var iPageCount = _oExt.oPagination.iFullNumbersShowPages; - var iPageCountHalf = Math.floor(iPageCount / 2); - var iPages = Math.ceil((oSettings.fnRecordsDisplay()) - / oSettings._iDisplayLength); - var iCurrentPage = Math.ceil(oSettings._iDisplayStart - / oSettings._iDisplayLength) + 1; - var sList = ""; - var iStartButton, iEndButton, i, iLen; - var oClasses = oSettings.oClasses; - if (iPages < iPageCount) { - iStartButton = 1; - iEndButton = iPages - } else { - if (iCurrentPage <= iPageCountHalf) { - iStartButton = 1; - iEndButton = iPageCount - } else { - if (iCurrentPage >= (iPages - iPageCountHalf)) { - iStartButton = iPages - iPageCount + 1; - iEndButton = iPages - } else { - iStartButton = iCurrentPage - - Math.ceil(iPageCount / 2) + 1; - iEndButton = iStartButton + iPageCount - 1 - } - } - } - for (i = iStartButton; i <= iEndButton; i++) { - if (iCurrentPage != i) { - sList += '' - + i + "" - } else { - sList += '' + i + "" - } - } - var an = oSettings.aanFeatures.p; - var anButtons, anStatic, nPaginateList; - var fnClick = function() { - var iTarget = (this.innerHTML * 1) - 1; - oSettings._iDisplayStart = iTarget - * oSettings._iDisplayLength; - fnCallbackDraw(oSettings); - return false - }; - var fnFalse = function() { - return false - }; - for (i = 0, iLen = an.length; i < iLen; i++) { - if (an[i].childNodes.length === 0) { - continue - } - nPaginateList = an[i].childNodes[2]; - nPaginateList.innerHTML = sList; - $("span", nPaginateList).click(fnClick).bind("mousedown", - fnFalse).bind("selectstart", fnFalse); - anButtons = an[i].getElementsByTagName("span"); - anStatic = [ anButtons[0], anButtons[1], - anButtons[anButtons.length - 2], - anButtons[anButtons.length - 1] ]; - $(anStatic).removeClass( - oClasses.sPageButton + " " + oClasses.sPageButtonActive - + " " + oClasses.sPageButtonStaticDisabled); - if (iCurrentPage == 1) { - anStatic[0].className += " " - + oClasses.sPageButtonStaticDisabled; - anStatic[1].className += " " - + oClasses.sPageButtonStaticDisabled - } else { - anStatic[0].className += " " + oClasses.sPageButton; - anStatic[1].className += " " + oClasses.sPageButton - } - if (iPages === 0 || iCurrentPage == iPages - || oSettings._iDisplayLength == -1) { - anStatic[2].className += " " - + oClasses.sPageButtonStaticDisabled; - anStatic[3].className += " " - + oClasses.sPageButtonStaticDisabled - } else { - anStatic[2].className += " " + oClasses.sPageButton; - anStatic[3].className += " " + oClasses.sPageButton - } - } - } - } - }; - _oExt.oSort = { - "string-asc" : function(a, b) { - var x = a.toLowerCase(); - var y = b.toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)) - }, - "string-desc" : function(a, b) { - var x = a.toLowerCase(); - var y = b.toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)) - }, - "html-asc" : function(a, b) { - var x = a.replace(/<.*?>/g, "").toLowerCase(); - var y = b.replace(/<.*?>/g, "").toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)) - }, - "html-desc" : function(a, b) { - var x = a.replace(/<.*?>/g, "").toLowerCase(); - var y = b.replace(/<.*?>/g, "").toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)) - }, - "date-asc" : function(a, b) { - var x = Date.parse(a); - var y = Date.parse(b); - if (isNaN(x)) { - x = Date.parse("01/01/1970 00:00:00") - } - if (isNaN(y)) { - y = Date.parse("01/01/1970 00:00:00") - } - return x - y - }, - "date-desc" : function(a, b) { - var x = Date.parse(a); - var y = Date.parse(b); - if (isNaN(x)) { - x = Date.parse("01/01/1970 00:00:00") - } - if (isNaN(y)) { - y = Date.parse("01/01/1970 00:00:00") - } - return y - x - }, - "numeric-asc" : function(a, b) { - var x = a == "-" ? 0 : a; - var y = b == "-" ? 0 : b; - return x - y - }, - "numeric-desc" : function(a, b) { - var x = a == "-" ? 0 : a; - var y = b == "-" ? 0 : b; - return y - x - } - }; - _oExt.aTypes = [ function(sData) { - if (typeof sData == "number") { - return "numeric" - } else { - if (typeof sData.charAt != "function") { - return null - } - } - var sValidFirstChars = "0123456789-"; - var sValidChars = "0123456789."; - var Char; - var bDecimal = false; - Char = sData.charAt(0); - if (sValidFirstChars.indexOf(Char) == -1) { - return null - } - for ( var i = 1; i < sData.length; i++) { - Char = sData.charAt(i); - if (sValidChars.indexOf(Char) == -1) { - return null - } - if (Char == ".") { - if (bDecimal) { - return null - } - bDecimal = true - } - } - return "numeric" - }, function(sData) { - var iParse = Date.parse(sData); - if (iParse !== null && !isNaN(iParse)) { - return "date" - } - return null - } ]; - _oExt._oExternConfig = { - iNextUnique : 0 - }; - $.fn.dataTable = function(oInit) { - function classSettings() { - this.fnRecordsTotal = function() { - if (this.oFeatures.bServerSide) { - return this._iRecordsTotal - } else { - return this.aiDisplayMaster.length - } - }; - this.fnRecordsDisplay = function() { - if (this.oFeatures.bServerSide) { - return this._iRecordsDisplay - } else { - return this.aiDisplay.length - } - }; - this.fnDisplayEnd = function() { - if (this.oFeatures.bServerSide) { - return this._iDisplayStart + this.aiDisplay.length - } else { - return this._iDisplayEnd - } - }; - this.sInstance = null; - this.oFeatures = { - bPaginate : true, - bLengthChange : true, - bFilter : true, - bSort : true, - bInfo : true, - bAutoWidth : true, - bProcessing : false, - bSortClasses : true, - bStateSave : false, - bServerSide : false - }; - this.aanFeatures = []; - this.oLanguage = { - sProcessing : "Processing...", - sLengthMenu : "Show _MENU_ entries", - sZeroRecords : "No matching records found", - sInfo : "Showing _START_ to _END_ of _TOTAL_ entries", - sInfoEmpty : "Showing 0 to 0 of 0 entries", - sInfoFiltered : "(filtered from _MAX_ total entries)", - sInfoPostFix : "", - sSearch : "Search:", - sUrl : "", - oPaginate : { - sFirst : "First", - sPrevious : "Previous", - sNext : "Next", - sLast : "Last" - } - }; - this.aoData = []; - this.aiDisplay = []; - this.aiDisplayMaster = []; - this.aoColumns = []; - this.iNextId = 0; - this.asDataSearch = []; - this.oPreviousSearch = { - sSearch : "", - bEscapeRegex : true - }; - this.aoPreSearchCols = []; - this.aaSorting = [ [ 0, "asc", 0 ] ]; - this.aaSortingFixed = null; - this.asStripClasses = []; - this.fnRowCallback = null; - this.fnHeaderCallback = null; - this.fnFooterCallback = null; - this.aoDrawCallback = []; - this.fnInitComplete = null; - this.sTableId = ""; - this.nTable = null; - this.iDefaultSortIndex = 0; - this.bInitialised = false; - this.aoOpenRows = []; - this.sDom = "lfrtip"; - this.sPaginationType = "two_button"; - this.iCookieDuration = 60 * 60 * 2; - this.sAjaxSource = null; - this.bAjaxDataGet = true; - this.fnServerData = $.getJSON; - this.iServerDraw = 0; - this._iDisplayLength = 10; - this._iDisplayStart = 0; - this._iDisplayEnd = 10; - this._iRecordsTotal = 0; - this._iRecordsDisplay = 0; - this.bJUI = false; - this.oClasses = _oExt.oStdClasses; - this.bFiltered = false; - this.bSorted = false - } - this.oApi = {}; - this.fnDraw = function(bComplete) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof bComplete != "undefined" && bComplete === false) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } else { - _fnReDraw(oSettings) - } - }; - this.fnFilter = function(sInput, iColumn, bEscapeRegex) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof bEscapeRegex == "undefined") { - bEscapeRegex = true - } - if (typeof iColumn == "undefined" || iColumn === null) { - _fnFilterComplete(oSettings, { - sSearch : sInput, - bEscapeRegex : bEscapeRegex - }, 1) - } else { - oSettings.aoPreSearchCols[iColumn].sSearch = sInput; - oSettings.aoPreSearchCols[iColumn].bEscapeRegex = bEscapeRegex; - _fnFilterComplete(oSettings, oSettings.oPreviousSearch, 1) - } - }; - this.fnSettings = function(nNode) { - return _fnSettingsFromNode(this[_oExt.iApiIndex]) - }; - this.fnVersionCheck = function(sVersion) { - var fnZPad = function(Zpad, count) { - while (Zpad.length < count) { - Zpad += "0" - } - return Zpad - }; - var aThis = _oExt.sVersion.split("."); - var aThat = sVersion.split("."); - var sThis = "", sThat = ""; - for ( var i = 0, iLen = aThat.length; i < iLen; i++) { - sThis += fnZPad(aThis[i], 3); - sThat += fnZPad(aThat[i], 3) - } - return parseInt(sThis, 10) >= parseInt(sThat, 10) - }; - this.fnSort = function(aaSort) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - oSettings.aaSorting = aaSort; - _fnSort(oSettings) - }; - this.fnSortListener = function(nNode, iColumn, fnCallback) { - _fnSortAttachListener(_fnSettingsFromNode(this[_oExt.iApiIndex]), - nNode, iColumn, fnCallback) - }; - this.fnAddData = function(mData, bRedraw) { - if (mData.length === 0) { - return [] - } - var aiReturn = []; - var iTest; - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof mData[0] == "object") { - for ( var i = 0; i < mData.length; i++) { - iTest = _fnAddData(oSettings, mData[i]); - if (iTest == -1) { - return aiReturn - } - aiReturn.push(iTest) - } - } else { - iTest = _fnAddData(oSettings, mData); - if (iTest == -1) { - return aiReturn - } - aiReturn.push(iTest) - } - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - _fnBuildSearchArray(oSettings, 1); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnReDraw(oSettings) - } - return aiReturn - }; - this.fnDeleteRow = function(mTarget, fnCallBack, bNullRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i, iAODataIndex; - iAODataIndex = (typeof mTarget == "object") ? _fnNodeToDataIndex( - oSettings, mTarget) : mTarget; - for (i = 0; i < oSettings.aiDisplayMaster.length; i++) { - if (oSettings.aiDisplayMaster[i] == iAODataIndex) { - oSettings.aiDisplayMaster.splice(i, 1); - break - } - } - for (i = 0; i < oSettings.aiDisplay.length; i++) { - if (oSettings.aiDisplay[i] == iAODataIndex) { - oSettings.aiDisplay.splice(i, 1); - break - } - } - _fnBuildSearchArray(oSettings, 1); - if (typeof fnCallBack == "function") { - fnCallBack.call(this) - } - if (oSettings._iDisplayStart >= oSettings.aiDisplay.length) { - oSettings._iDisplayStart -= oSettings._iDisplayLength; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } - _fnCalculateEnd(oSettings); - _fnDraw(oSettings); - var aData = oSettings.aoData[iAODataIndex]._aData.slice(); - if (typeof bNullRow != "undefined" && bNullRow === true) { - oSettings.aoData[iAODataIndex] = null - } - return aData - }; - this.fnClearTable = function(bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - _fnClearTable(oSettings); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnDraw(oSettings) - } - }; - this.fnOpen = function(nTr, sHtml, sClass) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - this.fnClose(nTr); - var nNewRow = document.createElement("tr"); - var nNewCell = document.createElement("td"); - nNewRow.appendChild(nNewCell); - nNewCell.className = sClass; - nNewCell.colSpan = _fnVisbleColumns(oSettings); - nNewCell.innerHTML = sHtml; - var nTrs = $("tbody tr", oSettings.nTable); - if ($.inArray(nTr, nTrs) != -1) { - $(nNewRow).insertAfter(nTr) - } - if (!oSettings.oFeatures.bServerSide) { - oSettings.aoOpenRows.push( { - nTr : nNewRow, - nParent : nTr - }) - } - return nNewRow - }; - this.fnClose = function(nTr) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - for ( var i = 0; i < oSettings.aoOpenRows.length; i++) { - if (oSettings.aoOpenRows[i].nParent == nTr) { - var nTrParent = oSettings.aoOpenRows[i].nTr.parentNode; - if (nTrParent) { - nTrParent.removeChild(oSettings.aoOpenRows[i].nTr) - } - oSettings.aoOpenRows.splice(i, 1); - return 0 - } - } - return 1 - }; - this.fnGetData = function(mRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof mRow != "undefined") { - var iRow = (typeof mRow == "object") ? _fnNodeToDataIndex( - oSettings, mRow) : mRow; - return oSettings.aoData[iRow]._aData - } - return _fnGetDataMaster(oSettings) - }; - this.fnGetNodes = function(iRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof iRow != "undefined") { - return oSettings.aoData[iRow].nTr - } - return _fnGetTrNodes(oSettings) - }; - this.fnGetPosition = function(nNode) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i; - if (nNode.nodeName == "TR") { - return _fnNodeToDataIndex(oSettings, nNode) - } else { - if (nNode.nodeName == "TD") { - var iDataIndex = _fnNodeToDataIndex(oSettings, - nNode.parentNode); - var iCorrector = 0; - for ( var j = 0; j < oSettings.aoColumns.length; j++) { - if (oSettings.aoColumns[j].bVisible) { - if (oSettings.aoData[iDataIndex].nTr - .getElementsByTagName("td")[j - iCorrector] == nNode) { - return [ iDataIndex, j - iCorrector, j ] - } - } else { - iCorrector++ - } - } - } - } - return null - }; - this.fnUpdate = function(mData, mRow, iColumn, bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var iVisibleColumn; - var sDisplay; - var iRow = (typeof mRow == "object") ? _fnNodeToDataIndex( - oSettings, mRow) : mRow; - if (typeof mData != "object") { - sDisplay = mData; - oSettings.aoData[iRow]._aData[iColumn] = sDisplay; - if (oSettings.aoColumns[iColumn].fnRender !== null) { - sDisplay = oSettings.aoColumns[iColumn].fnRender( { - iDataRow : iRow, - iDataColumn : iColumn, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - if (oSettings.aoColumns[iColumn].bUseRendered) { - oSettings.aoData[iRow]._aData[iColumn] = sDisplay - } - } - iVisibleColumn = _fnColumnIndexToVisible(oSettings, iColumn); - if (iVisibleColumn !== null) { - oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML = sDisplay - } - } else { - if (mData.length != oSettings.aoColumns.length) { - alert("DataTables warning: An array passed to fnUpdate must have the same number of columns as the table in question - in this case " - + oSettings.aoColumns.length); - return 1 - } - for ( var i = 0; i < mData.length; i++) { - sDisplay = mData[i]; - oSettings.aoData[iRow]._aData[i] = sDisplay; - if (oSettings.aoColumns[i].fnRender !== null) { - sDisplay = oSettings.aoColumns[i].fnRender( { - iDataRow : iRow, - iDataColumn : i, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - if (oSettings.aoColumns[i].bUseRendered) { - oSettings.aoData[iRow]._aData[i] = sDisplay - } - } - iVisibleColumn = _fnColumnIndexToVisible(oSettings, i); - if (iVisibleColumn !== null) { - oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML = sDisplay - } - } - } - _fnBuildSearchArray(oSettings, 1); - if (typeof bRedraw != "undefined" && bRedraw) { - _fnReDraw(oSettings) - } - return 0 - }; - this.fnSetColumnVis = function(iCol, bShow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i, iLen; - var iColumns = oSettings.aoColumns.length; - var nTd, anTds; - if (oSettings.aoColumns[iCol].bVisible == bShow) { - return - - } - var nTrHead = $("thead:eq(0)>tr", oSettings.nTable)[0]; - var nTrFoot = $("tfoot:eq(0)>tr", oSettings.nTable)[0]; - var anTheadTh = []; - var anTfootTh = []; - for (i = 0; i < iColumns; i++) { - anTheadTh.push(oSettings.aoColumns[i].nTh); - anTfootTh.push(oSettings.aoColumns[i].nTf) - } - if (bShow) { - var iInsert = 0; - for (i = 0; i < iCol; i++) { - if (oSettings.aoColumns[i].bVisible) { - iInsert++ - } - } - if (iInsert >= _fnVisbleColumns(oSettings)) { - nTrHead.appendChild(anTheadTh[iCol]); - if (nTrFoot) { - nTrFoot.appendChild(anTfootTh[iCol]) - } - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = oSettings.aoData[i]._anHidden[iCol]; - oSettings.aoData[i].nTr.appendChild(nTd) - } - } else { - var iBefore; - for (i = iCol; i < iColumns; i++) { - iBefore = _fnColumnIndexToVisible(oSettings, i); - if (iBefore !== null) { - break - } - } - nTrHead.insertBefore(anTheadTh[iCol], nTrHead - .getElementsByTagName("th")[iBefore]); - if (nTrFoot) { - nTrFoot.insertBefore(anTfootTh[iCol], nTrFoot - .getElementsByTagName("th")[iBefore]) - } - anTds = _fnGetTdNodes(oSettings); - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = oSettings.aoData[i]._anHidden[iCol]; - oSettings.aoData[i].nTr.insertBefore(nTd, $(">td:eq(" - + iBefore + ")", oSettings.aoData[i].nTr)[0]) - } - } - oSettings.aoColumns[iCol].bVisible = true - } else { - nTrHead.removeChild(anTheadTh[iCol]); - if (nTrFoot) { - nTrFoot.removeChild(anTfootTh[iCol]) - } - anTds = _fnGetTdNodes(oSettings); - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = anTds[(i * oSettings.aoColumns.length) + iCol]; - oSettings.aoData[i]._anHidden[iCol] = nTd; - nTd.parentNode.removeChild(nTd) - } - oSettings.aoColumns[iCol].bVisible = false - } - for (i = 0, iLen = oSettings.aoOpenRows.length; i < iLen; i++) { - oSettings.aoOpenRows[i].nTr.colSpan = _fnVisbleColumns(oSettings) - } - _fnSaveState(oSettings) - }; - this.fnPageChange = function(sAction, bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - _fnPageChange(oSettings, sAction); - _fnCalculateEnd(oSettings); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnDraw(oSettings) - } - }; - function _fnExternApiFunc(sFunc) { - return function() { - var aArgs = [ _fnSettingsFromNode(this[_oExt.iApiIndex]) ] - .concat(Array.prototype.slice.call(arguments)); - return _oExt.oApi[sFunc].apply(this, aArgs) - } - } - for ( var sFunc in _oExt.oApi) { - if (sFunc) { - this[sFunc] = _fnExternApiFunc(sFunc) - } - } - function _fnInitalise(oSettings) { - if (oSettings.bInitialised === false) { - setTimeout(function() { - _fnInitalise(oSettings) - }, 200); - return - } - _fnAddOptionsHtml(oSettings); - _fnDrawHead(oSettings); - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings, false); - _fnSortingClasses(oSettings) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - if (oSettings.sAjaxSource !== null - && !oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, true); - oSettings.fnServerData(oSettings.sAjaxSource, null, - function(json) { - for ( var i = 0; i < json.aaData.length; i++) { - _fnAddData(oSettings, json.aaData[i]) - } - oSettings.iInitDisplayStart = oSettings._iDisplayStart; - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster - .slice(); - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - _fnProcessingDisplay(oSettings, false); - if (typeof oSettings.fnInitComplete == "function") { - oSettings.fnInitComplete(oSettings, json) - } - }); - return - } - if (typeof oSettings.fnInitComplete == "function") { - oSettings.fnInitComplete(oSettings) - } - if (!oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, false) - } - } - function _fnLanguageProcess(oSettings, oLanguage, bInit) { - _fnMap(oSettings.oLanguage, oLanguage, "sProcessing"); - _fnMap(oSettings.oLanguage, oLanguage, "sLengthMenu"); - _fnMap(oSettings.oLanguage, oLanguage, "sZeroRecords"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfo"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoEmpty"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoFiltered"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoPostFix"); - _fnMap(oSettings.oLanguage, oLanguage, "sSearch"); - if (typeof oLanguage.oPaginate != "undefined") { - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sFirst"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sPrevious"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sNext"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sLast") - } - if (bInit) { - _fnInitalise(oSettings) - } - } - function _fnAddColumn(oSettings, oOptions, nTh) { - oSettings.aoColumns[oSettings.aoColumns.length++] = { - sType : null, - _bAutoType : true, - bVisible : true, - bSearchable : true, - bSortable : true, - asSorting : [ "asc", "desc" ], - sSortingClass : oSettings.oClasses.sSortable, - sSortingClassJUI : oSettings.oClasses.sSortJUI, - sTitle : nTh ? nTh.innerHTML : "", - sName : "", - sWidth : null, - sClass : null, - fnRender : null, - bUseRendered : true, - iDataSort : oSettings.aoColumns.length - 1, - sSortDataType : "std", - nTh : nTh ? nTh : document.createElement("th"), - nTf : null - }; - var iLength = oSettings.aoColumns.length - 1; - var oCol = oSettings.aoColumns[iLength]; - if (typeof oOptions != "undefined" && oOptions !== null) { - if (typeof oOptions.sType != "undefined") { - oCol.sType = oOptions.sType; - oCol._bAutoType = false - } - _fnMap(oCol, oOptions, "bVisible"); - _fnMap(oCol, oOptions, "bSearchable"); - _fnMap(oCol, oOptions, "bSortable"); - _fnMap(oCol, oOptions, "sTitle"); - _fnMap(oCol, oOptions, "sName"); - _fnMap(oCol, oOptions, "sWidth"); - _fnMap(oCol, oOptions, "sClass"); - _fnMap(oCol, oOptions, "fnRender"); - _fnMap(oCol, oOptions, "bUseRendered"); - _fnMap(oCol, oOptions, "iDataSort"); - _fnMap(oCol, oOptions, "asSorting"); - _fnMap(oCol, oOptions, "sSortDataType") - } - if (!oSettings.oFeatures.bSort) { - oCol.bSortable = false - } - if (!oCol.bSortable - || ($.inArray("asc", oCol.asSorting) == -1 && $.inArray("desc", - oCol.asSorting) == -1)) { - oCol.sSortingClass = oSettings.oClasses.sSortableNone; - oCol.sSortingClassJUI = "" - } else { - if ($.inArray("asc", oCol.asSorting) != -1 - && $.inArray("desc", oCol.asSorting) == -1) { - oCol.sSortingClass = oSettings.oClasses.sSortableAsc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed - } else { - if ($.inArray("asc", oCol.asSorting) == -1 - && $.inArray("desc", oCol.asSorting) != -1) { - oCol.sSortingClass = oSettings.oClasses.sSortableDesc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed - } - } - } - if (typeof oSettings.aoPreSearchCols[iLength] == "undefined" - || oSettings.aoPreSearchCols[iLength] === null) { - oSettings.aoPreSearchCols[iLength] = { - sSearch : "", - bEscapeRegex : true - } - } else { - if (typeof oSettings.aoPreSearchCols[iLength].bEscapeRegex == "undefined") { - oSettings.aoPreSearchCols[iLength].bEscapeRegex = true - } - } - } - function _fnAddData(oSettings, aData) { - if (aData.length != oSettings.aoColumns.length) { - alert("DataTables warning: Added data does not match known number of columns"); - return -1 - } - var iThisIndex = oSettings.aoData.length; - oSettings.aoData.push( { - nTr : document.createElement("tr"), - _iId : oSettings.iNextId++, - _aData : aData.slice(), - _anHidden : [], - _sRowStripe : "" - }); - var nTd, sThisType; - for ( var i = 0; i < aData.length; i++) { - nTd = document.createElement("td"); - if (typeof oSettings.aoColumns[i].fnRender == "function") { - var sRendered = oSettings.aoColumns[i].fnRender( { - iDataRow : iThisIndex, - iDataColumn : i, - aData : aData, - oSettings : oSettings - }); - nTd.innerHTML = sRendered; - if (oSettings.aoColumns[i].bUseRendered) { - oSettings.aoData[iThisIndex]._aData[i] = sRendered - } - } else { - nTd.innerHTML = aData[i] - } - if (oSettings.aoColumns[i].sClass !== null) { - nTd.className = oSettings.aoColumns[i].sClass - } - if (oSettings.aoColumns[i]._bAutoType - && oSettings.aoColumns[i].sType != "string") { - sThisType = _fnDetectType(oSettings.aoData[iThisIndex]._aData[i]); - if (oSettings.aoColumns[i].sType === null) { - oSettings.aoColumns[i].sType = sThisType - } else { - if (oSettings.aoColumns[i].sType != sThisType) { - oSettings.aoColumns[i].sType = "string" - } - } - } - if (oSettings.aoColumns[i].bVisible) { - oSettings.aoData[iThisIndex].nTr.appendChild(nTd) - } else { - oSettings.aoData[iThisIndex]._anHidden[i] = nTd - } - } - oSettings.aiDisplayMaster.push(iThisIndex); - return iThisIndex - } - function _fnGatherData(oSettings) { - var iLoop, i, iLen, j, jLen, jInner, nTds, nTrs, nTd, aLocalData, iThisIndex, iRow, iRows, iColumn, iColumns; - if (oSettings.sAjaxSource === null) { - nTrs = oSettings.nTable.getElementsByTagName("tbody")[0].childNodes; - for (i = 0, iLen = nTrs.length; i < iLen; i++) { - if (nTrs[i].nodeName == "TR") { - iThisIndex = oSettings.aoData.length; - oSettings.aoData.push( { - nTr : nTrs[i], - _iId : oSettings.iNextId++, - _aData : [], - _anHidden : [], - _sRowStripe : "" - }); - oSettings.aiDisplayMaster.push(iThisIndex); - aLocalData = oSettings.aoData[iThisIndex]._aData; - nTds = nTrs[i].childNodes; - jInner = 0; - for (j = 0, jLen = nTds.length; j < jLen; j++) { - if (nTds[j].nodeName == "TD") { - aLocalData[jInner] = nTds[j].innerHTML; - jInner++ - } - } - } - } - } - nTrs = _fnGetTrNodes(oSettings); - nTds = []; - for (i = 0, iLen = nTrs.length; i < iLen; i++) { - for (j = 0, jLen = nTrs[i].childNodes.length; j < jLen; j++) { - nTd = nTrs[i].childNodes[j]; - if (nTd.nodeName == "TD") { - nTds.push(nTd) - } - } - } - if (nTds.length != nTrs.length * oSettings.aoColumns.length) { - alert("DataTables warning: Unexpected number of TD elements. Expected " - + (nTrs.length * oSettings.aoColumns.length) - + " and got " - + nTds.length - + ". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.") - } - for (iColumn = 0, iColumns = oSettings.aoColumns.length; iColumn < iColumns; iColumn++) { - if (oSettings.aoColumns[iColumn].sTitle === null) { - oSettings.aoColumns[iColumn].sTitle = oSettings.aoColumns[iColumn].nTh.innerHTML - } - var bAutoType = oSettings.aoColumns[iColumn]._bAutoType, bRender = typeof oSettings.aoColumns[iColumn].fnRender == "function", bClass = oSettings.aoColumns[iColumn].sClass !== null, bVisible = oSettings.aoColumns[iColumn].bVisible, nCell, sThisType, sRendered; - if (bAutoType || bRender || bClass || !bVisible) { - for (iRow = 0, iRows = oSettings.aoData.length; iRow < iRows; iRow++) { - nCell = nTds[(iRow * iColumns) + iColumn]; - if (bAutoType) { - if (oSettings.aoColumns[iColumn].sType != "string") { - sThisType = _fnDetectType(oSettings.aoData[iRow]._aData[iColumn]); - if (oSettings.aoColumns[iColumn].sType === null) { - oSettings.aoColumns[iColumn].sType = sThisType - } else { - if (oSettings.aoColumns[iColumn].sType != sThisType) { - oSettings.aoColumns[iColumn].sType = "string" - } - } - } - } - if (bRender) { - sRendered = oSettings.aoColumns[iColumn].fnRender( { - iDataRow : iRow, - iDataColumn : iColumn, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - nCell.innerHTML = sRendered; - if (oSettings.aoColumns[iColumn].bUseRendered) { - oSettings.aoData[iRow]._aData[iColumn] = sRendered - } - } - if (bClass) { - nCell.className += " " - + oSettings.aoColumns[iColumn].sClass - } - if (!bVisible) { - oSettings.aoData[iRow]._anHidden[iColumn] = nCell; - nCell.parentNode.removeChild(nCell) - } - } - } - } - } - function _fnDrawHead(oSettings) { - var i, nTh, iLen; - var iThs = oSettings.nTable.getElementsByTagName("thead")[0] - .getElementsByTagName("th").length; - var iCorrector = 0; - if (iThs !== 0) { - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - nTh = oSettings.aoColumns[i].nTh; - if (oSettings.aoColumns[i].bVisible) { - if (oSettings.aoColumns[i].sWidth !== null) { - nTh.style.width = oSettings.aoColumns[i].sWidth - } - if (oSettings.aoColumns[i].sTitle != nTh.innerHTML) { - nTh.innerHTML = oSettings.aoColumns[i].sTitle - } - } else { - nTh.parentNode.removeChild(nTh); - iCorrector++ - } - } - } else { - var nTr = document.createElement("tr"); - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - nTh = oSettings.aoColumns[i].nTh; - nTh.innerHTML = oSettings.aoColumns[i].sTitle; - if (oSettings.aoColumns[i].bVisible) { - if (oSettings.aoColumns[i].sClass !== null) { - nTh.className = oSettings.aoColumns[i].sClass - } - if (oSettings.aoColumns[i].sWidth !== null) { - nTh.style.width = oSettings.aoColumns[i].sWidth - } - nTr.appendChild(nTh) - } - } - $("thead:eq(0)", oSettings.nTable).html("")[0].appendChild(nTr) - } - if (oSettings.bJUI) { - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - oSettings.aoColumns[i].nTh.insertBefore(document - .createElement("span"), - oSettings.aoColumns[i].nTh.firstChild) - } - } - if (oSettings.oFeatures.bSort) { - for (i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bSortable !== false) { - _fnSortAttachListener(oSettings, - oSettings.aoColumns[i].nTh, i) - } else { - $(oSettings.aoColumns[i].nTh).addClass( - oSettings.oClasses.sSortableNone) - } - } - $("thead:eq(0) th", oSettings.nTable).mousedown(function(e) { - if (e.shiftKey) { - this.onselectstart = function() { - return false - }; - return false - } - }) - } - var nTfoot = oSettings.nTable.getElementsByTagName("tfoot"); - if (nTfoot.length !== 0) { - iCorrector = 0; - var nTfs = nTfoot[0].getElementsByTagName("th"); - for (i = 0, iLen = nTfs.length; i < iLen; i++) { - oSettings.aoColumns[i].nTf = nTfs[i - iCorrector]; - if (!oSettings.aoColumns[i].bVisible) { - nTfs[i - iCorrector].parentNode.removeChild(nTfs[i - - iCorrector]); - iCorrector++ - } - } - } - } - function _fnDraw(oSettings) { - var i, iLen; - var anRows = []; - var iRowCount = 0; - var bRowError = false; - var iStrips = oSettings.asStripClasses.length; - var iOpenRows = oSettings.aoOpenRows.length; - if (oSettings.oFeatures.bServerSide && !_fnAjaxUpdate(oSettings)) { - return - } - if (typeof oSettings.iInitDisplayStart != "undefined" - && oSettings.iInitDisplayStart != -1) { - oSettings._iDisplayStart = (oSettings.iInitDisplayStart >= oSettings - .fnRecordsDisplay()) ? 0 : oSettings.iInitDisplayStart; - oSettings.iInitDisplayStart = -1; - _fnCalculateEnd(oSettings) - } - if (oSettings.aiDisplay.length !== 0) { - var iStart = oSettings._iDisplayStart; - var iEnd = oSettings._iDisplayEnd; - if (oSettings.oFeatures.bServerSide) { - iStart = 0; - iEnd = oSettings.aoData.length - } - for ( var j = iStart; j < iEnd; j++) { - var aoData = oSettings.aoData[oSettings.aiDisplay[j]]; - var nRow = aoData.nTr; - if (iStrips !== 0) { - var sStrip = oSettings.asStripClasses[iRowCount - % iStrips]; - if (aoData._sRowStripe != sStrip) { - $(nRow).removeClass(aoData._sRowStripe).addClass( - sStrip); - aoData._sRowStripe = sStrip - } - } - if (typeof oSettings.fnRowCallback == "function") { - nRow = oSettings.fnRowCallback(nRow, - oSettings.aoData[oSettings.aiDisplay[j]]._aData, - iRowCount, j); - if (!nRow && !bRowError) { - alert("DataTables warning: A node was not returned by fnRowCallback"); - bRowError = true - } - } - anRows.push(nRow); - iRowCount++; - if (iOpenRows !== 0) { - for ( var k = 0; k < iOpenRows; k++) { - if (nRow == oSettings.aoOpenRows[k].nParent) { - anRows.push(oSettings.aoOpenRows[k].nTr) - } - } - } - } - } else { - anRows[0] = document.createElement("tr"); - if (typeof oSettings.asStripClasses[0] != "undefined") { - anRows[0].className = oSettings.asStripClasses[0] - } - var nTd = document.createElement("td"); - nTd.setAttribute("valign", "top"); - nTd.colSpan = oSettings.aoColumns.length; - nTd.className = oSettings.oClasses.sRowEmpty; - nTd.innerHTML = oSettings.oLanguage.sZeroRecords; - anRows[iRowCount].appendChild(nTd) - } - if (typeof oSettings.fnHeaderCallback == "function") { - oSettings.fnHeaderCallback( - $("thead:eq(0)>tr", oSettings.nTable)[0], - _fnGetDataMaster(oSettings), oSettings._iDisplayStart, - oSettings.fnDisplayEnd(), oSettings.aiDisplay) - } - if (typeof oSettings.fnFooterCallback == "function") { - oSettings.fnFooterCallback( - $("tfoot:eq(0)>tr", oSettings.nTable)[0], - _fnGetDataMaster(oSettings), oSettings._iDisplayStart, - oSettings.fnDisplayEnd(), oSettings.aiDisplay) - } - var nBody = oSettings.nTable.getElementsByTagName("tbody"); - if (nBody[0]) { - var nTrs = nBody[0].childNodes; - for (i = nTrs.length - 1; i >= 0; i--) { - nTrs[i].parentNode.removeChild(nTrs[i]) - } - for (i = 0, iLen = anRows.length; i < iLen; i++) { - nBody[0].appendChild(anRows[i]) - } - } - for (i = 0, iLen = oSettings.aoDrawCallback.length; i < iLen; i++) { - oSettings.aoDrawCallback[i].fn(oSettings) - } - oSettings.bSorted = false; - oSettings.bFiltered = false; - if (typeof oSettings._bInitComplete == "undefined") { - oSettings._bInitComplete = true; - if (oSettings.oFeatures.bAutoWidth - && oSettings.nTable.offsetWidth !== 0) { - oSettings.nTable.style.width = oSettings.nTable.offsetWidth - + "px" - } - } - } - function _fnReDraw(oSettings) { - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings, oSettings.oPreviousSearch) - } else { - if (oSettings.oFeatures.bFilter) { - _fnFilterComplete(oSettings, oSettings.oPreviousSearch) - } else { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - } - } - function _fnAjaxUpdate(oSettings) { - if (oSettings.bAjaxDataGet) { - _fnProcessingDisplay(oSettings, true); - var iColumns = oSettings.aoColumns.length; - var aoData = []; - var i; - oSettings.iServerDraw++; - aoData.push( { - name : "sEcho", - value : oSettings.iServerDraw - }); - aoData.push( { - name : "iColumns", - value : iColumns - }); - aoData.push( { - name : "sColumns", - value : _fnColumnOrdering(oSettings) - }); - aoData.push( { - name : "iDisplayStart", - value : oSettings._iDisplayStart - }); - aoData - .push( { - name : "iDisplayLength", - value : oSettings.oFeatures.bPaginate !== false ? oSettings._iDisplayLength - : -1 - }); - if (oSettings.oFeatures.bFilter !== false) { - aoData.push( { - name : "sSearch", - value : oSettings.oPreviousSearch.sSearch - }); - aoData.push( { - name : "bEscapeRegex", - value : oSettings.oPreviousSearch.bEscapeRegex - }); - for (i = 0; i < iColumns; i++) { - aoData.push( { - name : "sSearch_" + i, - value : oSettings.aoPreSearchCols[i].sSearch - }); - aoData.push( { - name : "bEscapeRegex_" + i, - value : oSettings.aoPreSearchCols[i].bEscapeRegex - }); - aoData.push( { - name : "bSearchable_" + i, - value : oSettings.aoColumns[i].bSearchable - }) - } - } - if (oSettings.oFeatures.bSort !== false) { - var iFixed = oSettings.aaSortingFixed !== null ? oSettings.aaSortingFixed.length - : 0; - var iUser = oSettings.aaSorting.length; - aoData.push( { - name : "iSortingCols", - value : iFixed + iUser - }); - for (i = 0; i < iFixed; i++) { - aoData.push( { - name : "iSortCol_" + i, - value : oSettings.aaSortingFixed[i][0] - }); - aoData.push( { - name : "sSortDir_" + i, - value : oSettings.aaSortingFixed[i][1] - }) - } - for (i = 0; i < iUser; i++) { - aoData.push( { - name : "iSortCol_" + (i + iFixed), - value : oSettings.aaSorting[i][0] - }); - aoData.push( { - name : "sSortDir_" + (i + iFixed), - value : oSettings.aaSorting[i][1] - }) - } - for (i = 0; i < iColumns; i++) { - aoData.push( { - name : "bSortable_" + i, - value : oSettings.aoColumns[i].bSortable - }) - } - } - oSettings.fnServerData(oSettings.sAjaxSource, aoData, function( - json) { - _fnAjaxUpdateDraw(oSettings, json) - }); - return false - } else { - return true - } - } - function _fnAjaxUpdateDraw(oSettings, json) { - if (typeof json.sEcho != "undefined") { - if (json.sEcho * 1 < oSettings.iServerDraw) { - return - - } else { - oSettings.iServerDraw = json.sEcho * 1 - } - } - _fnClearTable(oSettings); - oSettings._iRecordsTotal = json.iTotalRecords; - oSettings._iRecordsDisplay = json.iTotalDisplayRecords; - var sOrdering = _fnColumnOrdering(oSettings); - var bReOrder = (typeof json.sColumns != "undefined" - && sOrdering !== "" && json.sColumns != sOrdering); - if (bReOrder) { - var aiIndex = _fnReOrderIndex(oSettings, json.sColumns) - } - for ( var i = 0, iLen = json.aaData.length; i < iLen; i++) { - if (bReOrder) { - var aData = []; - for ( var j = 0, jLen = oSettings.aoColumns.length; j < jLen; j++) { - aData.push(json.aaData[i][aiIndex[j]]) - } - _fnAddData(oSettings, aData) - } else { - _fnAddData(oSettings, json.aaData[i]) - } - } - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - oSettings.bAjaxDataGet = false; - _fnDraw(oSettings); - oSettings.bAjaxDataGet = true; - _fnProcessingDisplay(oSettings, false) - } - function _fnAddOptionsHtml(oSettings) { - var nHolding = document.createElement("div"); - oSettings.nTable.parentNode - .insertBefore(nHolding, oSettings.nTable); - var nWrapper = document.createElement("div"); - nWrapper.className = oSettings.oClasses.sWrapper; - if (oSettings.sTableId !== "") { - nWrapper.setAttribute("id", oSettings.sTableId + "_wrapper") - } - var nInsertNode = nWrapper; - var sDom = oSettings.sDom - .replace("H", - "fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"); - sDom = sDom - .replace("F", - "fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"); - var aDom = sDom.split(""); - var nTmp, iPushFeature, cOption, nNewNode, cNext, sClass, j; - for ( var i = 0; i < aDom.length; i++) { - iPushFeature = 0; - cOption = aDom[i]; - if (cOption == "<") { - nNewNode = document.createElement("div"); - cNext = aDom[i + 1]; - if (cNext == "'" || cNext == '"') { - sClass = ""; - j = 2; - while (aDom[i + j] != cNext) { - sClass += aDom[i + j]; - j++ - } - nNewNode.className = sClass; - i += j - } - nInsertNode.appendChild(nNewNode); - nInsertNode = nNewNode - } else { - if (cOption == ">") { - nInsertNode = nInsertNode.parentNode - } else { - if (cOption == "l" && oSettings.oFeatures.bPaginate - && oSettings.oFeatures.bLengthChange) { - nTmp = _fnFeatureHtmlLength(oSettings); - iPushFeature = 1 - } else { - if (cOption == "f" && oSettings.oFeatures.bFilter) { - nTmp = _fnFeatureHtmlFilter(oSettings); - iPushFeature = 1 - } else { - if (cOption == "r" - && oSettings.oFeatures.bProcessing) { - nTmp = _fnFeatureHtmlProcessing(oSettings); - iPushFeature = 1 - } else { - if (cOption == "t") { - nTmp = oSettings.nTable; - iPushFeature = 1 - } else { - if (cOption == "i" - && oSettings.oFeatures.bInfo) { - nTmp = _fnFeatureHtmlInfo(oSettings); - iPushFeature = 1 - } else { - if (cOption == "p" - && oSettings.oFeatures.bPaginate) { - nTmp = _fnFeatureHtmlPaginate(oSettings); - iPushFeature = 1 - } else { - if (_oExt.aoFeatures.length !== 0) { - var aoFeatures = _oExt.aoFeatures; - for ( var k = 0, kLen = aoFeatures.length; k < kLen; k++) { - if (cOption == aoFeatures[k].cFeature) { - nTmp = aoFeatures[k] - .fnInit(oSettings); - if (nTmp) { - iPushFeature = 1 - } - break - } - } - } - } - } - } - } - } - } - } - } - if (iPushFeature == 1) { - if (typeof oSettings.aanFeatures[cOption] != "object") { - oSettings.aanFeatures[cOption] = [] - } - oSettings.aanFeatures[cOption].push(nTmp); - nInsertNode.appendChild(nTmp) - } - } - nHolding.parentNode.replaceChild(nWrapper, nHolding) - } - function _fnFeatureHtmlFilter(oSettings) { - var nFilter = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.f == "undefined") { - nFilter.setAttribute("id", oSettings.sTableId + "_filter") - } - nFilter.className = oSettings.oClasses.sFilter; - var sSpace = oSettings.oLanguage.sSearch === "" ? "" : " "; - nFilter.innerHTML = oSettings.oLanguage.sSearch + sSpace - + ''; - var jqFilter = $("input", nFilter); - jqFilter.val(oSettings.oPreviousSearch.sSearch.replace('"', - """)); - jqFilter.keyup(function(e) { - var n = oSettings.aanFeatures.f; - for ( var i = 0, iLen = n.length; i < iLen; i++) { - if (n[i] != this.parentNode) { - $("input", n[i]).val(this.value) - } - } - _fnFilterComplete(oSettings, { - sSearch : this.value, - bEscapeRegex : oSettings.oPreviousSearch.bEscapeRegex - }) - }); - jqFilter.keypress(function(e) { - if (e.keyCode == 13) { - return false - } - }); - return nFilter - } - function _fnFilterComplete(oSettings, oInput, iForce) { - _fnFilter(oSettings, oInput.sSearch, iForce, oInput.bEscapeRegex); - for ( var i = 0; i < oSettings.aoPreSearchCols.length; i++) { - _fnFilterColumn(oSettings, - oSettings.aoPreSearchCols[i].sSearch, i, - oSettings.aoPreSearchCols[i].bEscapeRegex) - } - if (_oExt.afnFiltering.length !== 0) { - _fnFilterCustom(oSettings) - } - oSettings.bFiltered = true; - oSettings._iDisplayStart = 0; - _fnCalculateEnd(oSettings); - _fnDraw(oSettings); - _fnBuildSearchArray(oSettings, 0) - } - function _fnFilterCustom(oSettings) { - var afnFilters = _oExt.afnFiltering; - for ( var i = 0, iLen = afnFilters.length; i < iLen; i++) { - var iCorrector = 0; - for ( var j = 0, jLen = oSettings.aiDisplay.length; j < jLen; j++) { - var iDisIndex = oSettings.aiDisplay[j - iCorrector]; - if (!afnFilters[i](oSettings, - oSettings.aoData[iDisIndex]._aData, iDisIndex)) { - oSettings.aiDisplay.splice(j - iCorrector, 1); - iCorrector++ - } - } - } - } - function _fnFilterColumn(oSettings, sInput, iColumn, bEscapeRegex) { - if (sInput === "") { - return - - } - var iIndexCorrector = 0; - var sRegexMatch = bEscapeRegex ? _fnEscapeRegex(sInput) : sInput; - var rpSearch = new RegExp(sRegexMatch, "i"); - for ( var i = oSettings.aiDisplay.length - 1; i >= 0; i--) { - var sData = _fnDataToSearch( - oSettings.aoData[oSettings.aiDisplay[i]]._aData[iColumn], - oSettings.aoColumns[iColumn].sType); - if (!rpSearch.test(sData)) { - oSettings.aiDisplay.splice(i, 1); - iIndexCorrector++ - } - } - } - function _fnFilter(oSettings, sInput, iForce, bEscapeRegex) { - var i; - if (typeof iForce == "undefined" || iForce === null) { - iForce = 0 - } - if (_oExt.afnFiltering.length !== 0) { - iForce = 1 - } - var asSearch = bEscapeRegex ? _fnEscapeRegex(sInput).split(" ") - : sInput.split(" "); - var sRegExpString = "^(?=.*?" + asSearch.join(")(?=.*?") + ").*$"; - var rpSearch = new RegExp(sRegExpString, "i"); - if (sInput.length <= 0) { - oSettings.aiDisplay.splice(0, oSettings.aiDisplay.length); - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice() - } else { - if (oSettings.aiDisplay.length == oSettings.aiDisplayMaster.length - || oSettings.oPreviousSearch.sSearch.length > sInput.length - || iForce == 1 - || sInput.indexOf(oSettings.oPreviousSearch.sSearch) !== 0) { - oSettings.aiDisplay.splice(0, oSettings.aiDisplay.length); - _fnBuildSearchArray(oSettings, 1); - for (i = 0; i < oSettings.aiDisplayMaster.length; i++) { - if (rpSearch.test(oSettings.asDataSearch[i])) { - oSettings.aiDisplay - .push(oSettings.aiDisplayMaster[i]) - } - } - } else { - var iIndexCorrector = 0; - for (i = 0; i < oSettings.asDataSearch.length; i++) { - if (!rpSearch.test(oSettings.asDataSearch[i])) { - oSettings.aiDisplay.splice(i - iIndexCorrector, 1); - iIndexCorrector++ - } - } - } - } - oSettings.oPreviousSearch.sSearch = sInput; - oSettings.oPreviousSearch.bEscapeRegex = bEscapeRegex - } - function _fnBuildSearchArray(oSettings, iMaster) { - oSettings.asDataSearch.splice(0, oSettings.asDataSearch.length); - var aArray = (typeof iMaster != "undefined" && iMaster == 1) ? oSettings.aiDisplayMaster - : oSettings.aiDisplay; - for ( var i = 0, iLen = aArray.length; i < iLen; i++) { - oSettings.asDataSearch[i] = ""; - for ( var j = 0, jLen = oSettings.aoColumns.length; j < jLen; j++) { - if (oSettings.aoColumns[j].bSearchable) { - var sData = oSettings.aoData[aArray[i]]._aData[j]; - oSettings.asDataSearch[i] += _fnDataToSearch(sData, - oSettings.aoColumns[j].sType) - + " " - } - } - } - } - function _fnDataToSearch(sData, sType) { - if (typeof _oExt.ofnSearch[sType] == "function") { - return _oExt.ofnSearch[sType](sData) - } else { - if (sType == "html") { - return sData.replace(/\n/g, " ").replace(/<.*?>/g, "") - } else { - if (typeof sData == "string") { - return sData.replace(/\n/g, " ") - } - } - } - return sData - } - function _fnSort(oSettings, bApplyClasses) { - var aaSort = []; - var oSort = _oExt.oSort; - var aoData = oSettings.aoData; - var iDataSort; - var iDataType; - var i, j, jLen; - if (!oSettings.oFeatures.bServerSide - && (oSettings.aaSorting.length !== 0 || oSettings.aaSortingFixed !== null)) { - if (oSettings.aaSortingFixed !== null) { - aaSort = oSettings.aaSortingFixed - .concat(oSettings.aaSorting) - } else { - aaSort = oSettings.aaSorting.slice() - } - for (i = 0; i < aaSort.length; i++) { - var iColumn = aaSort[i][0]; - var sDataType = oSettings.aoColumns[iColumn].sSortDataType; - if (typeof _oExt.afnSortData[sDataType] != "undefined") { - var iCorrector = 0; - var aData = _oExt.afnSortData[sDataType](oSettings, - iColumn); - for (j = 0, jLen = aoData.length; j < jLen; j++) { - if (aoData[j] !== null) { - aoData[j]._aData[iColumn] = aData[iCorrector]; - iCorrector++ - } - } - } - } - if (!window.runtime) { - var fnLocalSorting; - var sDynamicSort = "fnLocalSorting = function(a,b){var iTest;"; - for (i = 0; i < aaSort.length - 1; i++) { - iDataSort = oSettings.aoColumns[aaSort[i][0]].iDataSort; - iDataType = oSettings.aoColumns[iDataSort].sType; - sDynamicSort += "iTest = oSort['" + iDataType + "-" - + aaSort[i][1] + "']( aoData[a]._aData[" - + iDataSort + "], aoData[b]._aData[" + iDataSort - + "] ); if ( iTest === 0 )" - } - iDataSort = oSettings.aoColumns[aaSort[aaSort.length - 1][0]].iDataSort; - iDataType = oSettings.aoColumns[iDataSort].sType; - sDynamicSort += "iTest = oSort['" + iDataType + "-" - + aaSort[aaSort.length - 1][1] - + "']( aoData[a]._aData[" + iDataSort - + "], aoData[b]._aData[" + iDataSort - + "] );if (iTest===0) return oSort['numeric-" - + aaSort[aaSort.length - 1][1] - + "'](a, b); return iTest;}"; - eval(sDynamicSort); - oSettings.aiDisplayMaster.sort(fnLocalSorting) - } else { - var aAirSort = []; - var iLen = aaSort.length; - for (i = 0; i < iLen; i++) { - iDataSort = oSettings.aoColumns[aaSort[i][0]].iDataSort; - aAirSort.push( [ - iDataSort, - oSettings.aoColumns[iDataSort].sType + "-" - + aaSort[i][1] ]) - } - oSettings.aiDisplayMaster.sort(function(a, b) { - var iTest; - for ( var i = 0; i < iLen; i++) { - iTest = oSort[aAirSort[i][1]]( - aoData[a]._aData[aAirSort[i][0]], - aoData[b]._aData[aAirSort[i][0]]); - if (iTest !== 0) { - return iTest - } - } - return 0 - }) - } - } - if (typeof bApplyClasses == "undefined" || bApplyClasses) { - _fnSortingClasses(oSettings) - } - oSettings.bSorted = true; - if (oSettings.oFeatures.bFilter) { - _fnFilterComplete(oSettings, oSettings.oPreviousSearch, 1) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - oSettings._iDisplayStart = 0; - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - } - function _fnSortAttachListener(oSettings, nNode, iDataIndex, fnCallback) { - $(nNode) - .click( - function(e) { - if (oSettings.aoColumns[iDataIndex].bSortable === false) { - return - - } - var fnInnerSorting = function() { - var iColumn, iNextSort; - if (e.shiftKey) { - var bFound = false; - for ( var i = 0; i < oSettings.aaSorting.length; i++) { - if (oSettings.aaSorting[i][0] == iDataIndex) { - bFound = true; - iColumn = oSettings.aaSorting[i][0]; - iNextSort = oSettings.aaSorting[i][2] + 1; - if (typeof oSettings.aoColumns[iColumn].asSorting[iNextSort] == "undefined") { - oSettings.aaSorting.splice(i, 1) - } else { - oSettings.aaSorting[i][1] = oSettings.aoColumns[iColumn].asSorting[iNextSort]; - oSettings.aaSorting[i][2] = iNextSort - } - break - } - } - if (bFound === false) { - oSettings.aaSorting - .push( [ - iDataIndex, - oSettings.aoColumns[iDataIndex].asSorting[0], - 0 ]) - } - } else { - if (oSettings.aaSorting.length == 1 - && oSettings.aaSorting[0][0] == iDataIndex) { - iColumn = oSettings.aaSorting[0][0]; - iNextSort = oSettings.aaSorting[0][2] + 1; - if (typeof oSettings.aoColumns[iColumn].asSorting[iNextSort] == "undefined") { - iNextSort = 0 - } - oSettings.aaSorting[0][1] = oSettings.aoColumns[iColumn].asSorting[iNextSort]; - oSettings.aaSorting[0][2] = iNextSort - } else { - oSettings.aaSorting.splice(0, - oSettings.aaSorting.length); - oSettings.aaSorting - .push( [ - iDataIndex, - oSettings.aoColumns[iDataIndex].asSorting[0], - 0 ]) - } - } - _fnSort(oSettings) - }; - if (!oSettings.oFeatures.bProcessing) { - fnInnerSorting() - } else { - _fnProcessingDisplay(oSettings, true); - setTimeout(function() { - fnInnerSorting(); - if (!oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, false) - } - }, 0) - } - if (typeof fnCallback == "function") { - fnCallback(oSettings) - } - }) - } - function _fnSortingClasses(oSettings) { - var i, iLen, j, jLen, iFound; - var aaSort, sClass; - var iColumns = oSettings.aoColumns.length; - var oClasses = oSettings.oClasses; - for (i = 0; i < iColumns; i++) { - if (oSettings.aoColumns[i].bSortable) { - $(oSettings.aoColumns[i].nTh).removeClass( - oClasses.sSortAsc + " " + oClasses.sSortDesc + " " - + oSettings.aoColumns[i].sSortingClass) - } - } - if (oSettings.aaSortingFixed !== null) { - aaSort = oSettings.aaSortingFixed.concat(oSettings.aaSorting) - } else { - aaSort = oSettings.aaSorting.slice() - } - for (i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bSortable) { - sClass = oSettings.aoColumns[i].sSortingClass; - iFound = -1; - for (j = 0; j < aaSort.length; j++) { - if (aaSort[j][0] == i) { - sClass = (aaSort[j][1] == "asc") ? oClasses.sSortAsc - : oClasses.sSortDesc; - iFound = j; - break - } - } - $(oSettings.aoColumns[i].nTh).addClass(sClass); - if (oSettings.bJUI) { - var jqSpan = $("span", oSettings.aoColumns[i].nTh); - jqSpan.removeClass(oClasses.sSortJUIAsc + " " - + oClasses.sSortJUIDesc + " " + oClasses.sSortJUI - + " " + oClasses.sSortJUIAscAllowed + " " - + oClasses.sSortJUIDescAllowed); - var sSpanClass; - if (iFound == -1) { - sSpanClass = oSettings.aoColumns[i].sSortingClassJUI - } else { - if (aaSort[iFound][1] == "asc") { - sSpanClass = oClasses.sSortJUIAsc - } else { - sSpanClass = oClasses.sSortJUIDesc - } - } - jqSpan.addClass(sSpanClass) - } - } else { - $(oSettings.aoColumns[i].nTh).addClass( - oSettings.aoColumns[i].sSortingClass) - } - } - sClass = oClasses.sSortColumn; - if (oSettings.oFeatures.bSort && oSettings.oFeatures.bSortClasses) { - var nTds = _fnGetTdNodes(oSettings); - if (nTds.length >= iColumns) { - for (i = 0; i < iColumns; i++) { - if (nTds[i].className.indexOf(sClass + "1") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass + "1", - "") - } - } else { - if (nTds[i].className.indexOf(sClass + "2") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass - + "2", "") - } - } else { - if (nTds[i].className.indexOf(sClass + "3") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass - + "3", "") - } - } - } - } - } - } - var iClass = 1, iTargetCol; - for (i = 0; i < aaSort.length; i++) { - iTargetCol = parseInt(aaSort[i][0], 10); - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + iTargetCol].className += " " - + sClass + iClass - } - if (iClass < 3) { - iClass++ - } - } - } - } - function _fnFeatureHtmlPaginate(oSettings) { - var nPaginate = document.createElement("div"); - nPaginate.className = oSettings.oClasses.sPaging - + oSettings.sPaginationType; - _oExt.oPagination[oSettings.sPaginationType].fnInit(oSettings, - nPaginate, function(oSettings) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - }); - if (typeof oSettings.aanFeatures.p == "undefined") { - oSettings.aoDrawCallback.push( { - fn : function(oSettings) { - _oExt.oPagination[oSettings.sPaginationType].fnUpdate( - oSettings, function(oSettings) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - }) - }, - sName : "pagination" - }) - } - return nPaginate - } - function _fnPageChange(oSettings, sAction) { - var iOldStart = oSettings._iDisplayStart; - if (sAction == "first") { - oSettings._iDisplayStart = 0 - } else { - if (sAction == "previous") { - oSettings._iDisplayStart = oSettings._iDisplayLength >= 0 ? oSettings._iDisplayStart - - oSettings._iDisplayLength - : 0; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } else { - if (sAction == "next") { - if (oSettings._iDisplayLength >= 0) { - if (oSettings._iDisplayStart - + oSettings._iDisplayLength < oSettings - .fnRecordsDisplay()) { - oSettings._iDisplayStart += oSettings._iDisplayLength - } - } else { - oSettings._iDisplayStart = 0 - } - } else { - if (sAction == "last") { - if (oSettings._iDisplayLength >= 0) { - var iPages = parseInt((oSettings - .fnRecordsDisplay() - 1) - / oSettings._iDisplayLength, 10) + 1; - oSettings._iDisplayStart = (iPages - 1) - * oSettings._iDisplayLength - } else { - oSettings._iDisplayStart = 0 - } - } else { - alert("DataTables warning: unknown paging action: " - + sAction) - } - } - } - } - return iOldStart != oSettings._iDisplayStart - } - function _fnFeatureHtmlInfo(oSettings) { - var nInfo = document.createElement("div"); - nInfo.className = oSettings.oClasses.sInfo; - if (typeof oSettings.aanFeatures.i == "undefined") { - oSettings.aoDrawCallback.push( { - fn : _fnUpdateInfo, - sName : "information" - }); - if (oSettings.sTableId !== "") { - nInfo.setAttribute("id", oSettings.sTableId + "_info") - } - } - return nInfo - } - function _fnUpdateInfo(oSettings) { - if (!oSettings.oFeatures.bInfo - || oSettings.aanFeatures.i.length === 0) { - return - - } - var nFirst = oSettings.aanFeatures.i[0]; - if (oSettings.fnRecordsDisplay() === 0 - && oSettings.fnRecordsDisplay() == oSettings.fnRecordsTotal()) { - nFirst.innerHTML = oSettings.oLanguage.sInfoEmpty - + oSettings.oLanguage.sInfoPostFix - } else { - if (oSettings.fnRecordsDisplay() === 0) { - nFirst.innerHTML = oSettings.oLanguage.sInfoEmpty - + " " - + oSettings.oLanguage.sInfoFiltered.replace("_MAX_", - oSettings.fnRecordsTotal()) - + oSettings.oLanguage.sInfoPostFix - } else { - if (oSettings.fnRecordsDisplay() == oSettings - .fnRecordsTotal()) { - nFirst.innerHTML = oSettings.oLanguage.sInfo.replace( - "_START_", oSettings._iDisplayStart + 1).replace( - "_END_", oSettings.fnDisplayEnd()).replace( - "_TOTAL_", oSettings.fnRecordsDisplay()) - + oSettings.oLanguage.sInfoPostFix - } else { - nFirst.innerHTML = oSettings.oLanguage.sInfo.replace( - "_START_", oSettings._iDisplayStart + 1).replace( - "_END_", oSettings.fnDisplayEnd()).replace( - "_TOTAL_", oSettings.fnRecordsDisplay()) - + " " - + oSettings.oLanguage.sInfoFiltered.replace( - "_MAX_", oSettings.fnRecordsTotal()) - + oSettings.oLanguage.sInfoPostFix - } - } - } - var n = oSettings.aanFeatures.i; - if (n.length > 1) { - var sInfo = nFirst.innerHTML; - for ( var i = 1, iLen = n.length; i < iLen; i++) { - n[i].innerHTML = sInfo - } - } - } - function _fnFeatureHtmlLength(oSettings) { - var sName = (oSettings.sTableId === "") ? "" - : 'name="' + oSettings.sTableId + '_length"'; - var sStdMenu = ''; - var nLength = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.l == "undefined") { - nLength.setAttribute("id", oSettings.sTableId + "_length") - } - nLength.className = oSettings.oClasses.sLength; - nLength.innerHTML = oSettings.oLanguage.sLengthMenu.replace( - "_MENU_", sStdMenu); - $('select option[value="' + oSettings._iDisplayLength + '"]', - nLength).attr("selected", true); - $("select", nLength).change( - function(e) { - var iVal = $(this).val(); - var n = oSettings.aanFeatures.l; - for ( var i = 0, iLen = n.length; i < iLen; i++) { - if (n[i] != this.parentNode) { - $("select", n[i]).val(iVal) - } - } - oSettings._iDisplayLength = parseInt(iVal, 10); - _fnCalculateEnd(oSettings); - if (oSettings._iDisplayEnd == oSettings.aiDisplay.length) { - oSettings._iDisplayStart = oSettings._iDisplayEnd - - oSettings._iDisplayLength; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } - if (oSettings._iDisplayLength == -1) { - oSettings._iDisplayStart = 0 - } - _fnDraw(oSettings) - }); - return nLength - } - function _fnFeatureHtmlProcessing(oSettings) { - var nProcessing = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.r == "undefined") { - nProcessing.setAttribute("id", oSettings.sTableId - + "_processing") - } - nProcessing.innerHTML = oSettings.oLanguage.sProcessing; - nProcessing.className = oSettings.oClasses.sProcessing; - oSettings.nTable.parentNode.insertBefore(nProcessing, - oSettings.nTable); - return nProcessing - } - function _fnProcessingDisplay(oSettings, bShow) { - if (oSettings.oFeatures.bProcessing) { - var an = oSettings.aanFeatures.r; - for ( var i = 0, iLen = an.length; i < iLen; i++) { - an[i].style.visibility = bShow ? "visible" : "hidden" - } - } - } - function _fnVisibleToColumnIndex(oSettings, iMatch) { - var iColumn = -1; - for ( var i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bVisible === true) { - iColumn++ - } - if (iColumn == iMatch) { - return i - } - } - return null - } - function _fnColumnIndexToVisible(oSettings, iMatch) { - var iVisible = -1; - for ( var i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bVisible === true) { - iVisible++ - } - if (i == iMatch) { - return oSettings.aoColumns[i].bVisible === true ? iVisible - : null - } - } - return null - } - function _fnNodeToDataIndex(s, n) { - for ( var i = 0, iLen = s.aoData.length; i < iLen; i++) { - if (s.aoData[i] !== null && s.aoData[i].nTr == n) { - return i - } - } - return null - } - function _fnVisbleColumns(oS) { - var iVis = 0; - for ( var i = 0; i < oS.aoColumns.length; i++) { - if (oS.aoColumns[i].bVisible === true) { - iVis++ - } - } - return iVis - } - function _fnCalculateEnd(oSettings) { - if (oSettings.oFeatures.bPaginate === false) { - oSettings._iDisplayEnd = oSettings.aiDisplay.length - } else { - if (oSettings._iDisplayStart + oSettings._iDisplayLength > oSettings.aiDisplay.length - || oSettings._iDisplayLength == -1) { - oSettings._iDisplayEnd = oSettings.aiDisplay.length - } else { - oSettings._iDisplayEnd = oSettings._iDisplayStart - + oSettings._iDisplayLength - } - } - } - function _fnConvertToWidth(sWidth, nParent) { - if (!sWidth || sWidth === null || sWidth === "") { - return 0 - } - if (typeof nParent == "undefined") { - nParent = document.getElementsByTagName("body")[0] - } - var iWidth; - var nTmp = document.createElement("div"); - nTmp.style.width = sWidth; - nParent.appendChild(nTmp); - iWidth = nTmp.offsetWidth; - nParent.removeChild(nTmp); - return (iWidth) - } - function _fnCalculateColumnWidths(oSettings) { - var iTableWidth = oSettings.nTable.offsetWidth; - var iTotalUserIpSize = 0; - var iTmpWidth; - var iVisibleColumns = 0; - var iColums = oSettings.aoColumns.length; - var i; - var oHeaders = $("thead:eq(0)>th", oSettings.nTable); - for (i = 0; i < iColums; i++) { - if (oSettings.aoColumns[i].bVisible) { - iVisibleColumns++; - if (oSettings.aoColumns[i].sWidth !== null) { - iTmpWidth = _fnConvertToWidth( - oSettings.aoColumns[i].sWidth, - oSettings.nTable.parentNode); - iTotalUserIpSize += iTmpWidth; - oSettings.aoColumns[i].sWidth = iTmpWidth + "px" - } - } - } - if (iColums == oHeaders.length && iTotalUserIpSize === 0 - && iVisibleColumns == iColums) { - for (i = 0; i < oSettings.aoColumns.length; i++) { - oSettings.aoColumns[i].sWidth = oHeaders[i].offsetWidth - + "px" - } - } else { - var nCalcTmp = oSettings.nTable.cloneNode(false); - nCalcTmp.setAttribute("id", ""); - var sTableTmp = '
" + oSettings.aoColumns[i].sTitle - + " | "; - if (oSettings.aoColumns[i].sWidth !== null) { - var sWidth = ""; - if (oSettings.aoColumns[i].sWidth !== null) { - sWidth = ' style="width:' + oSettings.aoColumns[i].sWidth + ';"' - } - sCalcHtml += "' + fnGetMaxLenString(oSettings, i) - + " | " - } else { - sCalcHtml += '' - + fnGetMaxLenString(oSettings, i) + " | " - } - } - } - sCalcHead += "
---|