浏览代码

Use es6 extends to write extension

zhixin 7 年之前
父节点
当前提交
6fe0ae7f8a
共有 2 个文件被更改,包括 9 次插入11 次删除
  1. 2 3
      src/bootstrap-table.js
  2. 7 8
      src/extensions/export/bootstrap-table-export.js

+ 2 - 3
src/bootstrap-table.js

@@ -3158,6 +3158,7 @@
     'updateFormatText', 'updateCellById'
   ]
 
+  $.BootstrapTable = BootstrapTable
   $.fn.bootstrapTable = function (option, ...args) {
     let value
 
@@ -3183,14 +3184,12 @@
       }
 
       if (!data) {
-        $(el).data('bootstrap.table', (data = new BootstrapTable(el, options)))
+        $(el).data('bootstrap.table', (data = new $.BootstrapTable(el, options)))
       }
     })
 
     return typeof value === 'undefined' ? this : value
   }
-
-  $.fn.bootstrapTable.Constructor = BootstrapTable
   $.fn.bootstrapTable.defaults = BootstrapTable.DEFAULTS
   $.fn.bootstrapTable.columnDefaults = BootstrapTable.COLUMN_DEFAULTS
   $.fn.bootstrapTable.locales = BootstrapTable.LOCALES

+ 7 - 8
src/extensions/export/bootstrap-table-export.js

@@ -4,8 +4,7 @@
  */
 
 ($ => {
-  const utils = $.fn.bootstrapTable.utils
-  const BootstrapTable = $.fn.bootstrapTable.Constructor
+  const Utils = $.fn.bootstrapTable.utils
 
   const TYPE_NAME = {
     json: 'JSON',
@@ -33,7 +32,7 @@
     export: {
       3: 'glyphicon-export icon-share',
       4: 'fa-download'
-    }[utils.bootstrapVersion]
+    }[Utils.bootstrapVersion]
   })
 
   $.extend($.fn.bootstrapTable.locales, {
@@ -43,7 +42,7 @@
   })
   $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
 
-  $.fn.bootstrapTable.Constructor = class extends BootstrapTable {
+  $.BootstrapTable = class extends $.BootstrapTable {
     initToolbar () {
       const o = this.options
 
@@ -70,8 +69,8 @@
           <i class="${o.iconsPrefix} ${o.icons.export}"></i>
           <span class="caret"></span>
         </button>
-        ${utils.bs.toobarDropdowHtml[0]}
-        ${utils.bs.toobarDropdowHtml[1]}
+        ${Utils.bs.toobarDropdowHtml[0]}
+        ${Utils.bs.toobarDropdowHtml[1]}
         </div>
       `).appendTo($btnGroup)
 
@@ -84,9 +83,9 @@
       }
       for (let type of exportTypes) {
         if (TYPE_NAME.hasOwnProperty(type)) {
-          const item = utils.bootstrapVersion === 4
+          const item = Utils.bootstrapVersion === 4
             ? TYPE_NAME[type] : `<a href="javascript:void(0)">${TYPE_NAME[type]}</a>`
-          const $item = $(utils.sprintf(utils.bs.toobarDropdowItemHtml, item))
+          const $item = $(Utils.sprintf(Utils.bs.toobarDropdowItemHtml, item))
           $item.attr('data-type', type)
           $menu.append($item)
         }