bootstrap-table-page-jump-to.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * @author Jay <jwang@dizsoft.com>
  3. * @update zhixin wen <wenzhixin2010@gmail.com>
  4. */
  5. const Utils = $.fn.bootstrapTable.utils
  6. $.extend($.fn.bootstrapTable.defaults, {
  7. showJumpTo: false
  8. })
  9. $.extend($.fn.bootstrapTable.locales, {
  10. formatJumpTo () {
  11. return 'GO'
  12. }
  13. })
  14. $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
  15. $.BootstrapTable = class extends $.BootstrapTable {
  16. initPagination (...args) {
  17. super.initPagination(...args)
  18. if (this.options.showJumpTo) {
  19. const that = this
  20. const $pageGroup = this.$pagination.find('> .pagination')
  21. let $jumpTo = $pageGroup.find('.page-jump-to')
  22. if (!$jumpTo.length) {
  23. $jumpTo = $(`
  24. <div class="page-jump-to ${this.constants.classes.inputGroup}">
  25. <input type="number" class="${this.constants.classes.input}${Utils.sprintf(' input-%s', this.options.iconSize)}" value="${this.options.pageNumber}">
  26. <button class="${this.constants.buttonsClass}" type="button">
  27. ${this.options.formatJumpTo()}
  28. </button>
  29. </div>
  30. `).appendTo($pageGroup)
  31. $jumpTo.find('button').click(() => {
  32. this.selectPage(+$jumpTo.find('input').val())
  33. })
  34. }
  35. }
  36. }
  37. }