dataTables.jqueryui.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. (function(){
  2. var DataTable = $.fn.dataTable;
  3. var sort_prefix = 'css_right ui-icon ui-icon-';
  4. var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-';
  5. /* Set the defaults for DataTables initialisation */
  6. $.extend( true, DataTable.defaults, {
  7. dom:
  8. '<"'+toolbar_prefix+'tl ui-corner-tr"lfr>'+
  9. 't'+
  10. '<"'+toolbar_prefix+'bl ui-corner-br"ip>',
  11. renderer: 'jqueryui'
  12. } );
  13. $.extend( DataTable.ext.classes, {
  14. /* Full numbers paging buttons */
  15. "sPageButton": "fg-button ui-button ui-state-default",
  16. "sPageButtonActive": "ui-state-disabled",
  17. "sPageButtonDisabled": "ui-state-disabled",
  18. /* Features */
  19. "sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+
  20. "ui-buttonset-multi paging_", /* Note that the type is postfixed */
  21. /* Sorting */
  22. "sSortAsc": "ui-state-default sorting_asc",
  23. "sSortDesc": "ui-state-default sorting_desc",
  24. "sSortable": "ui-state-default sorting",
  25. "sSortableAsc": "ui-state-default sorting_asc_disabled",
  26. "sSortableDesc": "ui-state-default sorting_desc_disabled",
  27. "sSortableNone": "ui-state-default sorting_disabled",
  28. "sSortIcon": "DataTables_sort_icon",
  29. /* Scrolling */
  30. "sScrollHead": "dataTables_scrollHead "+"ui-state-default",
  31. "sScrollFoot": "dataTables_scrollFoot "+"ui-state-default",
  32. /* Misc */
  33. "sHeaderTH": "ui-state-default",
  34. "sFooterTH": "ui-state-default",
  35. } );
  36. DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, idx, classes ) {
  37. $('<div/>')
  38. .addClass( 'DataTables_sort_wrapper' )
  39. .append( cell.contents() )
  40. .append( $('<span/>')
  41. .addClass( classes.sSortIcon+' '+column.sSortingClassJUI )
  42. )
  43. .appendTo( cell );
  44. // Attach a sort listener to update on sort
  45. $(settings.nTable).on( 'order.dt', function ( e, settings, sorting, columns ) {
  46. cell
  47. .removeClass( classes.sSortAsc +" "+classes.sSortDesc )
  48. .addClass( columns[ idx ] == 'asc' ?
  49. classes.sSortAsc : columns[ idx ] == 'desc' ?
  50. classes.sSortDesc :
  51. column.sSortingClass
  52. );
  53. cell
  54. .find( 'span' )
  55. .removeClass(
  56. sort_prefix+'triangle-1-n' +" "+
  57. sort_prefix+'triangle-1-s' +" "+
  58. sort_prefix+'carat-2-n-s' +" "+
  59. sort_prefix+'carat-1-n' +" "+
  60. sort_prefix+'carat-1-s'
  61. )
  62. .addClass( columns[ idx ] == 'asc' ?
  63. sort_prefix+'triangle-1-n' : columns[ idx ] == 'desc' ?
  64. sort_prefix+'triangle-1-s' :
  65. column.sSortingClassJUI
  66. );
  67. } );
  68. }
  69. /*
  70. * TableTools jQuery UI compatibility
  71. * Required TableTools 2.1+
  72. */
  73. if ( DataTable.TableTools ) {
  74. $.extend( true, DataTable.TableTools.classes, {
  75. "container": "DTTT_container ui-buttonset ui-buttonset-multi",
  76. "buttons": {
  77. "normal": "DTTT_button ui-button ui-state-default"
  78. },
  79. "collection": {
  80. "container": "DTTT_collection ui-buttonset ui-buttonset-multi"
  81. }
  82. } );
  83. }
  84. }());