Browse Source

Added a new event (onExportStarted) which will be triggered before the (#6255)

data of the export will be collected and exported
Dustin Utecht 3 years ago
parent
commit
2125004558
2 changed files with 16 additions and 1 deletions
  1. 10 0
      site/docs/extensions/export.md
  2. 6 1
      src/extensions/export/bootstrap-table-export.js

+ 10 - 0
site/docs/extensions/export.md

@@ -136,6 +136,16 @@ This is an important link to check out as some file types may require extra step
 
   * `exportedRows`: The exported rows (depends on exportDataType)
 
+### onExportStarted
+
+- **jQuery Event:** `export-started.bs.table`
+
+- **Parameter:** `undefined`
+
+- **Detail:**
+
+  Fired before the data will be collected and exported.
+
 ## Methods
 
 ### exportTable

+ 6 - 1
src/extensions/export/bootstrap-table-export.js

@@ -54,11 +54,15 @@ $.extend($.fn.bootstrapTable.defaults, {
   // eslint-disable-next-line no-unused-vars
   onExportSaved (exportedRows) {
     return false
+  },
+  onExportStarted () {
+    return false
   }
 })
 
 $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-  'export-saved.bs.table': 'onExportSaved'
+  'export-saved.bs.table': 'onExportSaved',
+  'export-started.bs.table': 'onExportStarted'
 })
 
 $.BootstrapTable = class extends $.BootstrapTable {
@@ -177,6 +181,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
     const isCardView = o.cardView
 
     const doExport = callback => {
+      this.trigger('export-started')
       if (stateField) {
         this.hideColumn(stateField)
       }