1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | const Utils = $.fn.bootstrapTable.utils
|
7 |
|
8 | Object.assign($.fn.bootstrapTable.defaults, {
|
9 | keyEvents: false
|
10 | })
|
11 |
|
12 | $.BootstrapTable = class extends $.BootstrapTable {
|
13 |
|
14 | init (...args) {
|
15 | super.init(...args)
|
16 |
|
17 | if (this.options.keyEvents) {
|
18 | this.initKeyEvents()
|
19 | }
|
20 | }
|
21 |
|
22 | initKeyEvents () {
|
23 | $(document).off('keydown').on('keydown', e => {
|
24 | const $search = Utils.getSearchInput(this)
|
25 | const $refresh = this.$toolbar.find('button[name="refresh"]')
|
26 | const $toggle = this.$toolbar.find('button[name="toggle"]')
|
27 | const $paginationSwitch = this.$toolbar.find('button[name="paginationSwitch"]')
|
28 |
|
29 | if (document.activeElement === $search.get(0) || !$.contains(document.activeElement, this.$toolbar.get(0))) {
|
30 | return true
|
31 | }
|
32 |
|
33 | switch (e.keyCode) {
|
34 | case 83:
|
35 | if (!this.options.search) {
|
36 | return
|
37 | }
|
38 | $search.focus()
|
39 | return false
|
40 | case 82:
|
41 | if (!this.options.showRefresh) {
|
42 | return
|
43 | }
|
44 | $refresh.click()
|
45 | return false
|
46 | case 84:
|
47 | if (!this.options.showToggle) {
|
48 | return
|
49 | }
|
50 | $toggle.click()
|
51 | return false
|
52 | case 80:
|
53 | if (!this.options.showPaginationSwitch) {
|
54 | return
|
55 | }
|
56 | $paginationSwitch.click()
|
57 | return false
|
58 | case 37:
|
59 | if (!this.options.pagination) {
|
60 | return
|
61 | }
|
62 | this.prevPage()
|
63 | return false
|
64 | case 39:
|
65 | if (!this.options.pagination) {
|
66 | return
|
67 | }
|
68 | this.nextPage()
|
69 | return
|
70 | default:
|
71 | break
|
72 | }
|
73 | })
|
74 | }
|
75 | }
|