Browse Source

Rewrote key-events to ES6.

zhixin 6 years ago
parent
commit
e94be9ff4f
1 changed files with 24 additions and 30 deletions
  1. 24 30
      src/extensions/key-events/bootstrap-table-key-events.js

+ 24 - 30
src/extensions/key-events/bootstrap-table-key-events.js

@@ -1,77 +1,71 @@
 /**
  * @author: Dennis Hernández
  * @webSite: http://djhvscf.github.io/Blog
- * @version: v1.0.0
- *
  * @update zhixin wen <wenzhixin2010@gmail.com>
  */
 
-!function ($) {
-
-  'use strict'
-
+($ => {
   $.extend($.fn.bootstrapTable.defaults, {
     keyEvents: false
   })
 
-  var BootstrapTable = $.fn.bootstrapTable.Constructor
-  var _init = BootstrapTable.prototype.init
+  $.BootstrapTable = class extends $.BootstrapTable {
 
-  BootstrapTable.prototype.init = function () {
-    _init.apply(this, Array.prototype.slice.apply(arguments))
-    this.initKeyEvents()
-  }
+    init (...args) {
+      super.init(...args)
 
-  BootstrapTable.prototype.initKeyEvents = function () {
-    if (this.options.keyEvents) {
-      var that = this
+      if (this.options.keyEvents) {
+        this.initKeyEvents()
+      }
+    }
 
-      $(document).off('keydown').on('keydown', function (e) {
-        var $search = that.$toolbar.find('.search input')
-        var $refresh = that.$toolbar.find('button[name="refresh"]')
-        var $toggle = that.$toolbar.find('button[name="toggle"]')
-        var $paginationSwitch = that.$toolbar.find('button[name="paginationSwitch"]')
+    initKeyEvents () {
+      $(document).off('keydown').on('keydown', e => {
+        const $search = this.$toolbar.find('.search input')
+        const $refresh = this.$toolbar.find('button[name="refresh"]')
+        const $toggle = this.$toolbar.find('button[name="toggle"]')
+        const $paginationSwitch = this.$toolbar.find('button[name="paginationSwitch"]')
 
-        if (document.activeElement === $search.get(0) || !$.contains(document.activeElement ,that.$toolbar.get(0))) {
+        if (document.activeElement === $search.get(0) || !$.contains(document.activeElement ,this.$toolbar.get(0))) {
           return true
         }
 
         switch (e.keyCode) {
           case 83: // s
-            if (!that.options.search) {
+            if (!this.options.search) {
               return
             }
             $search.focus()
             return false
           case 82: // r
-            if (!that.options.showRefresh) {
+            if (!this.options.showRefresh) {
               return
             }
             $refresh.click()
             return false
           case 84: // t
-            if (!that.options.showToggle) {
+            if (!this.options.showToggle) {
               return
             }
             $toggle.click()
             return false
           case 80: // p
-            if (!that.options.showPaginationSwitch) {
+            if (!this.options.showPaginationSwitch) {
               return
             }
             $paginationSwitch.click()
             return false
           case 37: // left
-            if (!that.options.pagination) {
+            if (!this.options.pagination) {
               return
             }
-            that.prevPage()
+            this.prevPage()
             return false
           case 39: // right
-            if (!that.options.pagination) {
+            if (!this.options.pagination) {
               return
             }
-            that.nextPage()
+            this.nextPage()
             return
           default:
             break
@@ -79,4 +73,4 @@
       })
     }
   }
-}(jQuery)
+})(jQuery)