Browse Source

Merge branch 'develop' into bugfix/fix-5122

Dennis Hernández 5 years ago
parent
commit
79e0bf9661
65 changed files with 656 additions and 39 deletions
  1. 18 14
      site/docs/api/table-options.md
  2. 50 2
      site/docs/extensions/filter-control.md
  3. 19 9
      src/bootstrap-table.js
  4. 1 1
      src/constants/index.js
  5. 6 1
      src/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js
  6. 16 2
      src/extensions/cookie/bootstrap-table-cookie.js
  7. 61 2
      src/extensions/filter-control/bootstrap-table-filter-control.js
  8. 2 2
      src/extensions/reorder-columns/bootstrap-table-reorder-columns.js
  9. 9 0
      src/locale/bootstrap-table-af-ZA.js
  10. 9 0
      src/locale/bootstrap-table-ar-SA.js
  11. 9 0
      src/locale/bootstrap-table-bg-BG.js
  12. 9 0
      src/locale/bootstrap-table-ca-ES.js
  13. 9 0
      src/locale/bootstrap-table-cs-CZ.js
  14. 9 0
      src/locale/bootstrap-table-da-DK.js
  15. 9 0
      src/locale/bootstrap-table-de-DE.js
  16. 9 0
      src/locale/bootstrap-table-el-GR.js
  17. 9 0
      src/locale/bootstrap-table-en-US.js
  18. 9 0
      src/locale/bootstrap-table-es-AR.js
  19. 9 0
      src/locale/bootstrap-table-es-CL.js
  20. 9 0
      src/locale/bootstrap-table-es-CR.js
  21. 9 0
      src/locale/bootstrap-table-es-ES.js
  22. 9 0
      src/locale/bootstrap-table-es-MX.js
  23. 9 0
      src/locale/bootstrap-table-es-NI.js
  24. 9 0
      src/locale/bootstrap-table-es-SP.js
  25. 9 0
      src/locale/bootstrap-table-et-EE.js
  26. 9 0
      src/locale/bootstrap-table-eu-EU.js
  27. 9 0
      src/locale/bootstrap-table-fa-IR.js
  28. 9 0
      src/locale/bootstrap-table-fi-FI.js
  29. 9 0
      src/locale/bootstrap-table-fr-BE.js
  30. 9 0
      src/locale/bootstrap-table-fr-CH.js
  31. 9 0
      src/locale/bootstrap-table-fr-FR.js
  32. 9 0
      src/locale/bootstrap-table-fr-LU.js
  33. 9 0
      src/locale/bootstrap-table-he-IL.js
  34. 9 0
      src/locale/bootstrap-table-hr-HR.js
  35. 9 0
      src/locale/bootstrap-table-hu-HU.js
  36. 9 0
      src/locale/bootstrap-table-id-ID.js
  37. 9 1
      src/locale/bootstrap-table-it-IT.js
  38. 9 0
      src/locale/bootstrap-table-ja-JP.js
  39. 9 0
      src/locale/bootstrap-table-ka-GE.js
  40. 9 0
      src/locale/bootstrap-table-ko-KR.js
  41. 9 0
      src/locale/bootstrap-table-ms-MY.js
  42. 9 0
      src/locale/bootstrap-table-nb-NO.js
  43. 10 1
      src/locale/bootstrap-table-nl-BE.js
  44. 9 0
      src/locale/bootstrap-table-nl-NL.js
  45. 9 0
      src/locale/bootstrap-table-pl-PL.js
  46. 9 0
      src/locale/bootstrap-table-pt-BR.js
  47. 9 0
      src/locale/bootstrap-table-pt-PT.js
  48. 9 0
      src/locale/bootstrap-table-ro-RO.js
  49. 9 0
      src/locale/bootstrap-table-ru-RU.js
  50. 9 0
      src/locale/bootstrap-table-sk-SK.js
  51. 9 0
      src/locale/bootstrap-table-sr-Cyrl-RS.js
  52. 9 0
      src/locale/bootstrap-table-sr-Latn-RS.js
  53. 9 0
      src/locale/bootstrap-table-sv-SE.js
  54. 9 0
      src/locale/bootstrap-table-th-TH.js
  55. 9 0
      src/locale/bootstrap-table-tr-TR.js
  56. 9 0
      src/locale/bootstrap-table-uk-UA.js
  57. 9 0
      src/locale/bootstrap-table-ur-PK.js
  58. 9 0
      src/locale/bootstrap-table-uz-Latn-UZ.js
  59. 9 0
      src/locale/bootstrap-table-vi-VN.js
  60. 9 0
      src/locale/bootstrap-table-zh-CN.js
  61. 9 0
      src/locale/bootstrap-table-zh-TW.js
  62. 2 1
      src/themes/bulma/bootstrap-table-bulma.js
  63. 1 1
      src/themes/foundation/bootstrap-table-foundation.js
  64. 1 1
      src/themes/materialize/bootstrap-table-materialize.js
  65. 1 1
      src/themes/semantic/bootstrap-table-semantic.js

+ 18 - 14
site/docs/api/table-options.md

@@ -714,20 +714,6 @@ The table options are defined in `jQuery.fn.bootstrapTable.defaults`.
 
 - **Example:** [Multiple Select Row](https://examples.bootstrap-table.com/#options/multiple-select-row.html)
 
-## onlyInfoPagination
-
-- **Attribute:** `data-only-info-pagination`
-
-- **Type:** `Boolean`
-
-- **Detail:**
-
-  Set `true` to show only the quantity of the data that is showing in the table. It needs the pagination table options is set to true.
-
-- **Default:** `false`
-
-- **Example:** [Only Info Pagination](https://examples.bootstrap-table.com/#options/only-info-pagination.html)
-
 ## pageList
 
 - **Attribute:** `data-page-list`
@@ -854,6 +840,24 @@ The table options are defined in `jQuery.fn.bootstrapTable.defaults`.
 
 - **Example:** [Pagination Index Number](https://examples.bootstrap-table.com/#options/pagination-index-number.html)
 
+## paginationParts
+
+- **Attribute:** `data-pagination-parts`
+
+- **Type:** `Array`
+
+- **Detail:**
+
+  These options define which parts of the pagination should be visible.
+  * `pageInfo` Shows which dataset will be displayed on the current page (e.g. `Showing 1 to 10 of 54 rows`).
+  * `pageInfoShort` Similar to `pageInfo`, but it only displays how much rows the table has (e.g. `Showing 54 rows`).
+  * `pageSize` Shows the dropdown which defines how many rows should be displayed on the page.
+  * `pageList` Shows the main part of the pagination (The list of the pages).
+
+- **Default:** `['pageInfo', 'pageSize', 'pageList']`
+
+- **Example:** [Pagination Parts](https://examples.bootstrap-table.com/#options/pagination-parts.html)
+
 ## paginationPreText
 
 - **Attribute:** `data-pagination-pre-text`

+ 50 - 2
site/docs/extensions/filter-control.md

@@ -29,10 +29,22 @@ Dependence if you use the datepicker option: [bootstrap-datepicker](https://gith
 
 - **Detail:**
 
-   Set true to add an `input` or `select` into the column.
+   Set to `true` to add an `input` or `select` into the column.
 
 - **Default:** `false`
 
+### filterControlVisible
+
+- **Attribute:** `data-filter-control-visible`
+
+- **type:** `Boolean`
+
+- **Detail:**
+
+   Set to `false` to hide the filter controls.
+
+- **Default:** `true`
+
 ### alignmentSelectControlOptions
 
 - **Attribute:** `data-alignment-select-control-options`
@@ -106,6 +118,18 @@ Dependence if you use the datepicker option: [bootstrap-datepicker](https://gith
 
 - **Default:** `false`
 
+### showFilterControlSwitch
+
+- **Attribute:** `data-show-filter-control-switch`
+
+- **type:** `Boolean`
+
+- **Detail:**
+
+   Set to `true` to show the filter control switch button.
+
+- **Default:** `false`
+
 ## Column options
 
 ### filterControl
@@ -232,7 +256,9 @@ Dependence if you use the datepicker option: [bootstrap-datepicker](https://gith
 
 ### Icons
 
-* clear: 'glyphicon-trash icon-clear'
+* clear: `'glyphicon-trash icon-clear'`
+* filterControlSwitchHide: `'glyphicon-zoom-out icon-zoom-out'`
+* filterControlSwitchShow: `'glyphicon-zoom-in icon-zoom-in'`
 
 ## Events
 
@@ -254,6 +280,10 @@ Dependence if you use the datepicker option: [bootstrap-datepicker](https://gith
 
 * Clear all the controls added by this plugin (similar to showSearchClearButton option).
 
+### toggleFilterControl
+
+* Toggles the visibility (show/hide) of the filter controls.
+
 ## Localizations
 
 ### formatClearFilters
@@ -261,3 +291,21 @@ Dependence if you use the datepicker option: [bootstrap-datepicker](https://gith
 - **type:** `Function`
 
 - **Default:** `function () { return "Clear Filters";}`
+
+### formatFilterControlSwitch
+
+- **type:** `Function`
+
+- **Default:** `function () { return "Hide/Show controls";}`
+
+### formatFilterControlSwitchHide
+
+- **type:** `Function`
+
+- **Default:** `function () { return "Hide controls";}`
+
+### formatFilterControlSwitchShow
+
+- **type:** `Function`
+
+- **Default:** `function () { return "Show controls";}`

+ 19 - 9
src/bootstrap-table.js

@@ -976,6 +976,11 @@ class BootstrapTable {
       return value
     })
 
+    this.paginationParts = opts.paginationParts
+    if (typeof this.paginationParts === 'string') {
+      this.paginationParts = this.paginationParts.replace(/\[|\]| |'/g, '').split(',')
+    }
+
     if (opts.sidePagination !== 'server') {
       opts.totalRows = data.length
     }
@@ -1009,16 +1014,18 @@ class BootstrapTable {
       this.options.totalNotFiltered = undefined
     }
 
-    const paginationInfo = opts.onlyInfoPagination ?
-      opts.formatDetailPagination(opts.totalRows) :
-      opts.formatShowingRows(this.pageFrom, this.pageTo, opts.totalRows, opts.totalNotFiltered)
+    if (this.paginationParts.includes('pageInfo') || this.paginationParts.includes('pageInfoShort') || this.paginationParts.includes('pageSize')) {
+      html.push(`<div class="${this.constants.classes.pull}-${opts.paginationDetailHAlign} pagination-detail">`)
+    }
 
-    html.push(`<div class="${this.constants.classes.pull}-${opts.paginationDetailHAlign} pagination-detail">
-      <span class="pagination-info">
+    if (this.paginationParts.includes('pageInfo') || this.paginationParts.includes('pageInfoShort')) {
+      const paginationInfo = this.paginationParts.includes('pageInfoShort') ? opts.formatDetailPagination(opts.totalRows) : opts.formatShowingRows(this.pageFrom, this.pageTo, opts.totalRows, opts.totalNotFiltered)
+      html.push(`<span class="pagination-info">
       ${paginationInfo}
       </span>`)
+    }
 
-    if (!opts.onlyInfoPagination) {
+    if (this.paginationParts.includes('pageSize')) {
       html.push('<span class="page-list">')
 
       const pageNumber = [
@@ -1045,8 +1052,13 @@ class BootstrapTable {
       pageNumber.push(`${this.constants.html.pageDropdown[1]}</span>`)
 
       html.push(opts.formatRecordsPerPage(pageNumber.join('')))
+    }
+
+    if (this.paginationParts.includes('pageInfo') || this.paginationParts.includes('pageInfoShort') || this.paginationParts.includes('pageSize')) {
       html.push('</span></div>')
+    }
 
+    if (this.paginationParts.includes('pageList')) {
       html.push(`<div class="${this.constants.classes.pull}-${opts.paginationHAlign} pagination">`,
         Utils.sprintf(this.constants.html.pagination[0], Utils.sprintf(' pagination-%s', opts.iconSize)),
         Utils.sprintf(this.constants.html.paginationItem, ' page-pre', opts.formatSRPaginationPreText(), opts.paginationPreText))
@@ -2122,9 +2134,7 @@ class BootstrapTable {
 
     if (params && !params.includeHiddenRows) {
       const hiddenRows = this.getHiddenRows()
-      data = data.filter(function (row) {
-        return Utils.findIndex(hiddenRows, row) === -1
-      })
+      data = data.filter(row => Utils.findIndex(hiddenRows, row) === -1)
     }
 
     if (params && params.formatted) {

+ 1 - 1
src/constants/index.js

@@ -156,7 +156,7 @@ const DEFAULTS = {
   totalNotFilteredField: 'totalNotFiltered',
   dataField: 'rows',
   pagination: false,
-  onlyInfoPagination: false,
+  paginationParts: ['pageInfo', 'pageSize', 'pageList'],
   showExtendedPagination: false,
   paginationLoop: true,
   sidePagination: 'client', // client or server

+ 6 - 1
src/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js

@@ -126,7 +126,12 @@ $.BootstrapTable = class extends $.BootstrapTable {
       // Check filter
       this.data = f ? this.options.data.filter((item, i) => {
         for (const key in f) {
-          if (item[key] !== f[key]) {
+          if (
+            (Array.isArray(f[key]) &&
+              !f[key].includes(item[key])) ||
+            (!Array.isArray(f[key]) &&
+              item[key] !== f[key])
+          ) {
             return false
           }
         }

+ 16 - 2
src/extensions/cookie/bootstrap-table-cookie.js

@@ -205,13 +205,27 @@ const UtilsCookie = {
 
         const applyCookieFilters = (element, filteredCookies) => {
           filteredCookies.forEach(cookie => {
-            if (cookie.text !== '' && element.tagName === 'INPUT') {
+            if (cookie.text === '' || (element.type === 'radio' && element.value.toString() !== cookie.text.toString())) {
+              return
+            }
+
+            if (element.tagName === 'INPUT' && element.type === 'radio' && element.value.toString() === cookie.text.toString()) {
+              element.checked = true
+              cachedFilters[cookie.field] = cookie.text
+            } else if (element.tagName === 'INPUT') {
               element.value = cookie.text
               cachedFilters[cookie.field] = cookie.text
-            } else if (cookie.text !== '' && element.tagName === 'SELECT' && bootstrapTable.options.filterControlContainer) {
+            } else if (element.tagName === 'SELECT' && bootstrapTable.options.filterControlContainer) {
               element.value = cookie.text
               cachedFilters[cookie.field] = cookie.text
             } else if (cookie.text !== '' && element.tagName === 'SELECT') {
+              for (let i = 0; i < element.length; i++) {
+                const currentElement = element[i]
+                if (currentElement.value === cookie.text) {
+                  currentElement.selected = true
+                  return
+                }
+              }
               const option = document.createElement('option')
               option.value = cookie.text
               option.text = cookie.text

+ 61 - 2
src/extensions/filter-control/bootstrap-table-filter-control.js

@@ -481,8 +481,12 @@ const UtilsFilterControl = {
         that.triggerSearch()
       }
 
+      if (!that.options.filterControlVisible) {
+        UtilsFilterControl.getControlContainer(that).find('.filter-control, .no-filter-control').hide()
+      }
+
     } else {
-      UtilsFilterControl.getControlContainer(that).find('.filterControl').hide()
+      UtilsFilterControl.getControlContainer(that).find('.filter-control, .no-filter-control').hide()
     }
   },
   getDirectionOfSelectOptions (_alignment) {
@@ -559,6 +563,7 @@ const filterDataMethods = {
 
 $.extend($.fn.bootstrapTable.defaults, {
   filterControl: false,
+  filterControlVisible: true,
   onColumnSearch (field, text) {
     return false
   },
@@ -595,6 +600,7 @@ $.extend($.fn.bootstrapTable.defaults, {
   },
   disableControlWhenSearch: false,
   searchOnEnterKey: false,
+  showFilterControlSwitch: false,
   // internal variables
   valuesFilterControl: []
 })
@@ -619,9 +625,28 @@ $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
 $.extend($.fn.bootstrapTable.defaults.icons, {
   clear: {
     bootstrap3: 'glyphicon-trash icon-clear'
-  }[$.fn.bootstrapTable.theme] || 'fa-trash'
+  }[$.fn.bootstrapTable.theme] || 'fa-trash',
+  filterControlSwitchHide: {
+    bootstrap3: 'glyphicon-zoom-out icon-zoom-out',
+    materialize: 'zoom_out'
+  }[$.fn.bootstrapTable.theme] || 'fa-search-minus',
+  filterControlSwitchShow: {
+    bootstrap3: 'glyphicon-zoom-in icon-zoom-in',
+    materialize: 'zoom_in'
+  }[$.fn.bootstrapTable.theme] || 'fa-search-plus'
 })
 
+$.extend($.fn.bootstrapTable.locales, {
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
+  }
+})
 $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
 
 $.extend($.fn.bootstrapTable.defaults, {
@@ -632,6 +657,7 @@ $.extend($.fn.bootstrapTable.defaults, {
 
 $.fn.bootstrapTable.methods.push('triggerSearch')
 $.fn.bootstrapTable.methods.push('clearFilterControl')
+$.fn.bootstrapTable.methods.push('toggleFilterControl')
 
 $.BootstrapTable = class extends $.BootstrapTable {
   init () {
@@ -842,8 +868,26 @@ $.BootstrapTable = class extends $.BootstrapTable {
   }
 
   initToolbar () {
+    this.showToolbar = this.showToolbar || this.options.showFilterControlSwitch
     this.showSearchClearButton = this.options.filterControl && this.options.showSearchClearButton
     super.initToolbar()
+
+    if (this.options.showFilterControlSwitch) {
+      const $btnGroup = this.$toolbar.find('>.columns')
+      let $btnFilterControlSwitch = $btnGroup.find('.filter-control-switch')
+
+      if (!$btnFilterControlSwitch.length) {
+        $btnFilterControlSwitch = $(`
+          <button class="filter-control-switch ${this.constants.buttonsClass}"
+          type="button" title="${this.options.formatFilterControlSwitch()}">
+          ${this.options.showButtonIcons ? Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.filterControlVisible ? this.options.icons.filterControlSwitchHide : this.options.icons.filterControlSwitchShow) : ''}
+          ${this.options.showButtonText ? this.options.filterControlVisible ? this.options.formatFilterControlSwitchHide() : this.options.formatFilterControlSwitchShow() : ''}
+          </button>
+        `).appendTo($btnGroup)
+
+        $btnFilterControlSwitch.on('click', $.proxy(this.toggleFilterControl, this))
+      }
+    }
   }
 
   resetSearch (text) {
@@ -958,4 +1002,19 @@ $.BootstrapTable = class extends $.BootstrapTable {
       }
     }
   }
+
+  toggleFilterControl () {
+    this.options.filterControlVisible = !this.options.filterControlVisible
+    const $filterControls = UtilsFilterControl.getControlContainer(this).find('.filter-control, .no-filter-control')
+    if (this.options.filterControlVisible) {
+      $filterControls.show()
+    } else {
+      $filterControls.hide()
+      this.clearFilterControl()
+    }
+    const icon = this.options.showButtonIcons ? this.options.filterControlVisible ? this.options.icons.filterControlSwitchHide : this.options.icons.filterControlSwitchShow : ''
+    const text = this.options.showButtonText ? this.options.filterControlVisible ? this.options.formatFilterControlSwitchHide() : this.options.formatFilterControlSwitchShow() : ''
+    this.$toolbar.find('>.columns').find('.filter-control-switch')
+      .html(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, icon) + ' ' + text)
+  }
 }

+ 2 - 2
src/extensions/reorder-columns/bootstrap-table-reorder-columns.js

@@ -7,7 +7,7 @@
 
 $.akottr.dragtable.prototype._restoreState = function (persistObj) {
   for (const [field, value] of Object.entries(persistObj)) {
-    var $th = this.originalTable.el.find(`th[data-field="${field}"]`)
+    const $th = this.originalTable.el.find(`th[data-field="${field}"]`)
     this.originalTable.startIndex = $th.prevAll().length + 1
     this.originalTable.endIndex = parseInt(value, 10) + 1
     this._bubbleCols()
@@ -147,7 +147,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
         // Exist columns not shown
         if (ths.length < this.columns.length) {
           columnsHidden = this.columns.filter(column => !column.visible)
-          for (var i = 0; i < columnsHidden.length; i++) {
+          for (let i = 0; i < columnsHidden.length; i++) {
             ths.push(columnsHidden[i].field)
             formatters.push(columnsHidden[i].formatter)
           }

+ 9 - 0
src/locale/bootstrap-table-af-ZA.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['af-ZA'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ar-SA.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ar-SA'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-bg-BG.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['bg-BG'] = {
   },
   formatAdvancedCloseButton () {
     return 'Затваряне'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ca-ES.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['ca-ES'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-cs-CZ.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['cs-CZ'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-da-DK.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['da-DK'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-de-DE.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['de-DE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Schließen'
+  },
+  formatFilterControlSwitch () {
+    return 'Verstecke/Zeige controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Verstecke controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Zeige controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-el-GR.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['el-GR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-en-US.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['en-US'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-AR.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['es-AR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Cerrar'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-CL.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['es-CL'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-CR.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['es-CR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-ES.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['es-ES'] = {
   },
   formatAdvancedCloseButton () {
     return 'Cerrar'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-MX.js

@@ -87,6 +87,15 @@ $.fn.bootstrapTable.locales['es-MX'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-NI.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['es-NI'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-es-SP.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['es-SP'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Ocultar/Mostrar controles'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Ocultar controles'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Mostrar controles'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-et-EE.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['et-EE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-eu-EU.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['eu-EU'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fa-IR.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['fa-IR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fi-FI.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['fi-FI'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fr-BE.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['fr-BE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Fermer'
+  },
+  formatFilterControlSwitch () {
+    return 'Cacher/Afficher controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Cacher controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Afficher controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fr-CH.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['fr-CH'] = {
   },
   formatAdvancedCloseButton () {
     return 'Fermer'
+  },
+  formatFilterControlSwitch () {
+    return 'Cacher/Afficher controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Cacher controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Afficher controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fr-FR.js

@@ -87,6 +87,15 @@ $.fn.bootstrapTable.locales['fr-FR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Fermer'
+  },
+  formatFilterControlSwitch () {
+    return 'Cacher/Afficher controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Cacher controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Afficher controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-fr-LU.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['fr-LU'] = {
   },
   formatAdvancedCloseButton () {
     return 'Fermer'
+  },
+  formatFilterControlSwitch () {
+    return 'Cacher/Afficher controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Cacher controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Afficher controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-he-IL.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['he-IL'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-hr-HR.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['hr-HR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-hu-HU.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['hu-HU'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-id-ID.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['id-ID'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 1
src/locale/bootstrap-table-it-IT.js

@@ -87,8 +87,16 @@ $.fn.bootstrapTable.locales['it-IT'] = {
   },
   formatAdvancedCloseButton () {
     return 'Chiudi'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
-
 }
 
 $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['it-IT'])

+ 9 - 0
src/locale/bootstrap-table-ja-JP.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ja-JP'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ka-GE.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ka-GE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ko-KR.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ko-KR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ms-MY.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ms-MY'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-nb-NO.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['nb-NO'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 10 - 1
src/locale/bootstrap-table-nl-BE.js

@@ -1,5 +1,5 @@
 /**
- * Bootstrap Table Dutch (België) translation
+ * Bootstrap Table Dutch (België) translation
  * Author: Nevets82 <Nevets82@gmail.com>
  */
 
@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['nl-BE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Sluiten'
+  },
+  formatFilterControlSwitch () {
+    return 'Verberg/Toon controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Verberg controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Toon controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-nl-NL.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['nl-NL'] = {
   },
   formatAdvancedCloseButton () {
     return 'Sluiten'
+  },
+  formatFilterControlSwitch () {
+    return 'Verberg/Toon controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Verberg controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Toon controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-pl-PL.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['pl-PL'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-pt-BR.js

@@ -87,6 +87,15 @@ $.fn.bootstrapTable.locales['pt-BR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Fechar'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-pt-PT.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['pt-PT'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ro-RO.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ro-RO'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ru-RU.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ru-RU'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-sk-SK.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['sk-SK'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-sr-Cyrl-RS.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['sr-Cyrl-RS'] = {
   },
   formatAdvancedCloseButton () {
     return 'Затвори'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-sr-Latn-RS.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['sr-Latn-RS'] = {
   },
   formatAdvancedCloseButton () {
     return 'Zatvori'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-sv-SE.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['sv-SE'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-th-TH.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['th-TH'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-tr-TR.js

@@ -86,6 +86,15 @@ $.fn.bootstrapTable.locales['tr-TR'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-uk-UA.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['uk-UA'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-ur-PK.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['ur-PK'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-uz-Latn-UZ.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['uz-Latn-UZ'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-vi-VN.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['vi-VN'] = {
   },
   formatAdvancedCloseButton () {
     return 'Close'
+  },
+  formatFilterControlSwitch () {
+    return 'Hide/Show controls'
+  },
+  formatFilterControlSwitchHide () {
+    return 'Hide controls'
+  },
+  formatFilterControlSwitchShow () {
+    return 'Show controls'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-zh-CN.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['zh-CN'] = {
   },
   formatAdvancedCloseButton () {
     return '关闭'
+  },
+  formatFilterControlSwitch () {
+    return '隐藏/显示过滤控制'
+  },
+  formatFilterControlSwitchHide () {
+    return '隐藏过滤控制'
+  },
+  formatFilterControlSwitchShow () {
+    return '显示过滤控制'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-zh-TW.js

@@ -85,6 +85,15 @@ $.fn.bootstrapTable.locales['zh-TW'] = {
   },
   formatAdvancedCloseButton () {
     return '關閉'
+  },
+  formatFilterControlSwitch () {
+    return '隱藏/顯示過濾控制'
+  },
+  formatFilterControlSwitchHide () {
+    return '隱藏過濾控制'
+  },
+  formatFilterControlSwitchShow () {
+    return '顯示過濾控制'
   }
 }
 

+ 2 - 1
src/themes/bulma/bootstrap-table-bulma.js

@@ -52,7 +52,8 @@ $.BootstrapTable = class extends $.BootstrapTable {
 
   initPagination () {
     super.initPagination()
-    if (this.options.pagination && !this.options.onlyInfoPagination) {
+
+    if (this.options.pagination && this.paginationParts.includes('pageSize')) {
       this._initDropdown()
     }
   }

+ 1 - 1
src/themes/foundation/bootstrap-table-foundation.js

@@ -57,7 +57,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
   initPagination () {
     super.initPagination()
 
-    if (this.options.pagination && !this.options.onlyInfoPagination) {
+    if (this.options.pagination && this.paginationParts.includes('pageSize')) {
       const $el = this.$pagination.find('.dropdown-toggle')
       $el.attr('data-toggle', $el.next().attr('id'))
 

+ 1 - 1
src/themes/materialize/bootstrap-table-materialize.js

@@ -71,7 +71,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
   initPagination () {
     super.initPagination()
 
-    if (this.options.pagination && !this.options.onlyInfoPagination) {
+    if (this.options.pagination && this.paginationParts.includes('pageSize')) {
       this.$pagination.find('.dropdown-toggle')
         .attr('data-target', this.$pagination.find('.dropdown-content').attr('id'))
         .dropdown()

+ 1 - 1
src/themes/semantic/bootstrap-table-semantic.js

@@ -43,7 +43,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
 
   initPagination () {
     super.initPagination()
-    if (this.options.pagination && !this.options.onlyInfoPagination) {
+    if (this.options.pagination && this.paginationParts.includes('pageSize')) {
       this.$pagination.find('.dropdown').dropdown()
     }
   }