bootstrap-table-materialize.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * @author zhixin wen <wenzhixin2010@gmail.com>
  3. * https://github.com/wenzhixin/bootstrap-table/
  4. * theme: https://github.com/jgthms/bulma/
  5. */
  6. ($ => {
  7. $.extend($.fn.bootstrapTable.defaults, {
  8. classes: 'table highlight',
  9. buttonsPrefix: '',
  10. buttonsClass: 'waves-effect waves-light btn',
  11. iconsPrefix: 'material-icons',
  12. icons: {
  13. paginationSwitchDown: 'grid_on',
  14. paginationSwitchUp: 'grid_off',
  15. refresh: 'refresh',
  16. toggleOff: 'tablet',
  17. toggleOn: 'tablet_android',
  18. columns: 'view_list',
  19. detailOpen: 'add',
  20. detailClose: 'remove',
  21. fullscreen: 'fullscreen'
  22. }
  23. })
  24. $.BootstrapTable = class extends $.BootstrapTable {
  25. initConstants () {
  26. super.initConstants()
  27. this.constants.theme = 'materialize'
  28. this.constants.classes.buttonsGroup = ''
  29. this.constants.classes.buttonsDropdown = ''
  30. this.constants.classes.input = 'input-field'
  31. this.constants.classes.input = ''
  32. this.constants.classes.paginationDropdown = ''
  33. this.constants.html.toobarDropdow = ['<ul id="toolbar-dropdown" class="dropdown-content">', '</ul>']
  34. this.constants.html.toobarDropdowItem = '<li><label>%s</label></li>'
  35. this.constants.html.pageDropdown = ['<ul id="page-list-dropdown" class="dropdown-content">', '</ul>']
  36. this.constants.html.pageDropdownItem = '<li><a class="%s" href="#">%s</a></li>'
  37. this.constants.html.dropdownCaret = '<i class="material-icons">arrow_drop_down</i>'
  38. this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>'],
  39. this.constants.html.paginationItem = '<li class="waves-effect page-item%s"><a href="#">%s</a></li>'
  40. this.constants.html.icon = '<i class="%s">%s</i>'
  41. }
  42. initToolbar () {
  43. super.initToolbar()
  44. if (this.options.showColumns) {
  45. this.$toolbar.find('.dropdown-toggle')
  46. .attr('data-target', 'toolbar-dropdown')
  47. .dropdown({
  48. alignment: 'right',
  49. constrainWidth: false,
  50. closeOnClick: false
  51. })
  52. }
  53. }
  54. initPagination () {
  55. super.initPagination()
  56. if (this.options.pagination && !this.options.onlyInfoPagination) {
  57. this.$pagination.find('.dropdown-toggle')
  58. .attr('data-target', 'page-list-dropdown')
  59. .dropdown()
  60. }
  61. }
  62. }
  63. })(jQuery)