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