Browse Source

Build to 1.13.3

zhixin 7 years ago
parent
commit
0d1d851ea7
97 changed files with 1259 additions and 744 deletions
  1. 1 1
      dist/bootstrap-table-locale-all.min.js
  2. 168 322
      dist/bootstrap-table.css
  3. 101 92
      dist/bootstrap-table.js
  4. 2 2
      dist/bootstrap-table.min.css
  5. 2 2
      dist/bootstrap-table.min.js
  6. 265 97
      dist/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js
  7. 2 2
      dist/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js
  8. 255 123
      dist/extensions/addrbar/bootstrap-table-addrbar.js
  9. 2 2
      dist/extensions/addrbar/bootstrap-table-addrbar.min.js
  10. 1 1
      dist/extensions/auto-refresh/bootstrap-table-auto-refresh.min.css
  11. 1 1
      dist/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js
  12. 11 7
      dist/extensions/cookie/bootstrap-table-cookie.js
  13. 2 2
      dist/extensions/cookie/bootstrap-table-cookie.min.js
  14. 1 1
      dist/extensions/copy-rows/bootstrap-table-copy-rows.min.js
  15. 1 1
      dist/extensions/defer-url/bootstrap-table-defer-url.min.js
  16. 1 1
      dist/extensions/editable/bootstrap-table-editable.min.js
  17. 1 1
      dist/extensions/export/bootstrap-table-export.min.js
  18. 1 1
      dist/extensions/filter-control/bootstrap-table-filter-control.js
  19. 1 1
      dist/extensions/filter-control/bootstrap-table-filter-control.min.css
  20. 2 2
      dist/extensions/filter-control/bootstrap-table-filter-control.min.js
  21. 12 7
      dist/extensions/group-by-v2/bootstrap-table-group-by.js
  22. 1 1
      dist/extensions/group-by-v2/bootstrap-table-group-by.min.css
  23. 2 2
      dist/extensions/group-by-v2/bootstrap-table-group-by.min.js
  24. 1 1
      dist/extensions/group-by/bootstrap-table-group-by.min.css
  25. 1 1
      dist/extensions/group-by/bootstrap-table-group-by.min.js
  26. 1 1
      dist/extensions/i18n-enhance/bootstrap-table-i18n-enhance.min.js
  27. 1 1
      dist/extensions/key-events/bootstrap-table-key-events.min.js
  28. 1 1
      dist/extensions/mobile/bootstrap-table-mobile.min.js
  29. 1 1
      dist/extensions/multi-column-toggle/bootstrap-table-multi-toggle.min.js
  30. 1 1
      dist/extensions/multiple-search/bootstrap-table-multiple-search.min.js
  31. 1 1
      dist/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.min.css
  32. 1 1
      dist/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.min.js
  33. 1 1
      dist/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js
  34. 1 1
      dist/extensions/natural-sorting/bootstrap-table-natural-sorting.min.js
  35. 1 1
      dist/extensions/page-jump-to/bootstrap-table-page-jump-to.min.css
  36. 1 1
      dist/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js
  37. 341 0
      dist/extensions/pipeline/bootstrap-table-pipeline.js
  38. 10 0
      dist/extensions/pipeline/bootstrap-table-pipeline.min.js
  39. 1 1
      dist/extensions/print/bootstrap-table-print.min.js
  40. 1 1
      dist/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js
  41. 1 1
      dist/extensions/reorder-rows/bootstrap-table-reorder-rows.min.css
  42. 1 1
      dist/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js
  43. 1 1
      dist/extensions/resizable/bootstrap-table-resizable.min.js
  44. 1 1
      dist/extensions/select2-filter/bootstrap-table-select2-filter.min.js
  45. 1 1
      dist/extensions/sticky-header/bootstrap-table-sticky-header.min.css
  46. 1 1
      dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js
  47. 1 1
      dist/extensions/toolbar/bootstrap-table-toolbar.min.js
  48. 1 1
      dist/extensions/tree-column/bootstrap-table-tree-column.min.css
  49. 1 1
      dist/extensions/tree-column/bootstrap-table-tree-column.min.js
  50. 1 1
      dist/extensions/treegrid/bootstrap-table-treegrid.min.js
  51. 1 1
      dist/locale/bootstrap-table-af-ZA.min.js
  52. 1 1
      dist/locale/bootstrap-table-ar-SA.min.js
  53. 1 1
      dist/locale/bootstrap-table-ca-ES.min.js
  54. 1 1
      dist/locale/bootstrap-table-cs-CZ.min.js
  55. 1 1
      dist/locale/bootstrap-table-da-DK.min.js
  56. 1 1
      dist/locale/bootstrap-table-de-DE.min.js
  57. 1 1
      dist/locale/bootstrap-table-el-GR.min.js
  58. 1 1
      dist/locale/bootstrap-table-en-US.min.js
  59. 1 1
      dist/locale/bootstrap-table-es-AR.min.js
  60. 1 1
      dist/locale/bootstrap-table-es-CL.min.js
  61. 1 1
      dist/locale/bootstrap-table-es-CR.min.js
  62. 1 1
      dist/locale/bootstrap-table-es-ES.min.js
  63. 1 1
      dist/locale/bootstrap-table-es-MX.min.js
  64. 1 1
      dist/locale/bootstrap-table-es-NI.min.js
  65. 1 1
      dist/locale/bootstrap-table-es-SP.min.js
  66. 1 1
      dist/locale/bootstrap-table-et-EE.min.js
  67. 1 1
      dist/locale/bootstrap-table-eu-EU.min.js
  68. 1 1
      dist/locale/bootstrap-table-fa-IR.min.js
  69. 1 1
      dist/locale/bootstrap-table-fi-FI.min.js
  70. 1 1
      dist/locale/bootstrap-table-fr-BE.min.js
  71. 1 1
      dist/locale/bootstrap-table-fr-FR.min.js
  72. 1 1
      dist/locale/bootstrap-table-he-IL.min.js
  73. 1 1
      dist/locale/bootstrap-table-hr-HR.min.js
  74. 1 1
      dist/locale/bootstrap-table-hu-HU.min.js
  75. 1 1
      dist/locale/bootstrap-table-id-ID.min.js
  76. 1 1
      dist/locale/bootstrap-table-it-IT.min.js
  77. 1 1
      dist/locale/bootstrap-table-ja-JP.min.js
  78. 1 1
      dist/locale/bootstrap-table-ka-GE.min.js
  79. 1 1
      dist/locale/bootstrap-table-ko-KR.min.js
  80. 1 1
      dist/locale/bootstrap-table-ms-MY.min.js
  81. 1 1
      dist/locale/bootstrap-table-nb-NO.min.js
  82. 1 1
      dist/locale/bootstrap-table-nl-NL.min.js
  83. 1 1
      dist/locale/bootstrap-table-pl-PL.min.js
  84. 1 1
      dist/locale/bootstrap-table-pt-BR.min.js
  85. 1 1
      dist/locale/bootstrap-table-pt-PT.min.js
  86. 1 1
      dist/locale/bootstrap-table-ro-RO.min.js
  87. 1 1
      dist/locale/bootstrap-table-ru-RU.min.js
  88. 1 1
      dist/locale/bootstrap-table-sk-SK.min.js
  89. 1 1
      dist/locale/bootstrap-table-sv-SE.min.js
  90. 1 1
      dist/locale/bootstrap-table-th-TH.min.js
  91. 1 1
      dist/locale/bootstrap-table-tr-TR.min.js
  92. 1 1
      dist/locale/bootstrap-table-uk-UA.min.js
  93. 1 1
      dist/locale/bootstrap-table-ur-PK.min.js
  94. 1 1
      dist/locale/bootstrap-table-uz-Latn-UZ.min.js
  95. 1 1
      dist/locale/bootstrap-table-vi-VN.min.js
  96. 1 1
      dist/locale/bootstrap-table-zh-CN.min.js
  97. 1 1
      dist/locale/bootstrap-table-zh-TW.min.js

+ 1 - 1
dist/bootstrap-table-locale-all.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 168 - 322
dist/bootstrap-table.css

@@ -1,337 +1,183 @@
 /**
  * @author zhixin wen <wenzhixin2010@gmail.com>
- * version: 1.13.2
+ * version: 1.13.3
  * https://github.com/wenzhixin/bootstrap-table/
  */
-
-.bootstrap-table .table {
-    margin-bottom: 0 !important;
-    border-bottom: 1px solid #dddddd;
-    border-collapse: collapse !important;
-    border-radius: 1px;
-}
-
-.bootstrap-table .table:not(.table-condensed),
-.bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
-.bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
-.bootstrap-table .table:not(.table-condensed) > thead > tr > td,
-.bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
-.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
-    padding: 8px;
-}
-
-.bootstrap-table .table.table-no-bordered > thead > tr > th {
-    border-top: none;
-}
-
-.bootstrap-table .table.table-no-bordered > thead > tr > th,
-.bootstrap-table .table.table-no-bordered > tbody > tr > td {
-    border-right: 2px solid transparent;
-}
-
-.bootstrap-table .table.table-no-bordered > tbody > tr > td:last-child {
-    border-right: none;
-}
-
-.fixed-table-container {
-    position: relative;
-    clear: both;
-    border: 1px solid #dddddd;
-    border-radius: 4px;
-    -webkit-border-radius: 4px;
-    -moz-border-radius: 4px;
-}
-
-.fixed-table-container.table-no-bordered {
-    border: 1px solid transparent;
-}
-
-.fixed-table-footer,
-.fixed-table-header {
-    overflow: hidden;
-}
-
-.fixed-table-footer {
-    border-top: 1px solid #dddddd;
-}
-
-.fixed-table-body {
+.bootstrap-table .fixed-table-toolbar:after {
+  content: "";
+  display: block;
+  clear: both; }
+.bootstrap-table .fixed-table-toolbar .bs-bars,
+.bootstrap-table .fixed-table-toolbar .search,
+.bootstrap-table .fixed-table-toolbar .columns {
+  position: relative;
+  margin-top: 10px;
+  margin-bottom: 10px; }
+.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
+  display: inline-block;
+  margin-left: -1px !important; }
+  .bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 4px; }
+  .bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
+    border-top-right-radius: 4px;
+    border-bottom-right-radius: 4px; }
+  .bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
+    border-radius: 0; }
+.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
+  text-align: left;
+  max-height: 300px;
+  overflow: auto; }
+.bootstrap-table .fixed-table-toolbar .columns label {
+  display: block;
+  padding: 3px 20px;
+  clear: both;
+  font-weight: normal;
+  line-height: 1.428571429; }
+.bootstrap-table .fixed-table-toolbar .columns-left {
+  margin-right: 5px; }
+.bootstrap-table .fixed-table-toolbar .columns-right {
+  margin-left: 5px; }
+.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
+  right: 0;
+  left: auto; }
+.bootstrap-table .fixed-table-container {
+  position: relative;
+  clear: both; }
+  .bootstrap-table .fixed-table-container.fixed-height {
+    border-bottom: 1px solid #dee2e6; }
+    .bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
+      border-left: 1px solid #dee2e6;
+      border-right: 1px solid #dee2e6; }
+    .bootstrap-table .fixed-table-container.fixed-height .table thead th {
+      border-bottom: 1px solid #dee2e6; }
+    .bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
+      border-bottom: 1px solid #32383e; }
+  .bootstrap-table .fixed-table-container .fixed-table-header {
+    overflow: hidden; }
+  .bootstrap-table .fixed-table-container .fixed-table-body {
     overflow-x: auto;
     overflow-y: auto;
-    height: 100%;
-}
-
-.fixed-table-container table {
+    height: 100%; }
+    .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
+      display: none;
+      position: absolute;
+      top: 42px;
+      right: 0;
+      bottom: 0;
+      left: 0;
+      z-index: 99;
+      background-color: #fff;
+      text-align: center; }
+  .bootstrap-table .fixed-table-container .table {
     width: 100%;
-}
-
-.fixed-table-container thead th {
-    height: 0;
-    padding: 0;
-    margin: 0;
-    border-left: 1px solid #dddddd;
-}
-
-.fixed-table-container thead th:focus {
-    outline: 0 solid transparent;
-}
-
-.fixed-table-container thead th:first-child:not([data-not-first-th]) {
-    border-left: none;
-    border-top-left-radius: 4px;
-    -webkit-border-top-left-radius: 4px;
-    -moz-border-radius-topleft: 4px;
-}
-
-.fixed-table-container thead th .th-inner,
-.fixed-table-container tbody td .th-inner {
-    padding: 8px;
-    line-height: 24px;
-    vertical-align: top;
+    margin-bottom: 0 !important; }
+    .bootstrap-table .fixed-table-container .table th,
+    .bootstrap-table .fixed-table-container .table td {
+      vertical-align: middle;
+      box-sizing: border-box; }
+    .bootstrap-table .fixed-table-container .table thead th {
+      vertical-align: bottom;
+      padding: 0;
+      margin: 0; }
+      .bootstrap-table .fixed-table-container .table thead th:focus {
+        outline: 0 solid transparent; }
+      .bootstrap-table .fixed-table-container .table thead th.detail {
+        width: 30px; }
+      .bootstrap-table .fixed-table-container .table thead th .th-inner {
+        padding: .75rem;
+        vertical-align: bottom;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap; }
+      .bootstrap-table .fixed-table-container .table thead th .sortable {
+        cursor: pointer;
+        background-position: right;
+        background-repeat: no-repeat;
+        padding-right: 30px; }
+      .bootstrap-table .fixed-table-container .table thead th .both {
+        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC"); }
+      .bootstrap-table .fixed-table-container .table thead th .asc {
+        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg=="); }
+      .bootstrap-table .fixed-table-container .table thead th .desc {
+        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= "); }
+    .bootstrap-table .fixed-table-container .table tbody tr.selected td {
+      background-color: rgba(0, 0, 0, 0.075); }
+    .bootstrap-table .fixed-table-container .table tbody tr.no-records-found {
+      text-align: center; }
+    .bootstrap-table .fixed-table-container .table tbody tr .card-view .title {
+      font-weight: bold;
+      display: inline-block;
+      min-width: 30%;
+      text-align: left !important; }
+    .bootstrap-table .fixed-table-container .table .bs-checkbox {
+      text-align: center; }
+    .bootstrap-table .fixed-table-container .table input[type="radio"],
+    .bootstrap-table .fixed-table-container .table input[type="checkbox"] {
+      margin: 0 auto !important; }
+    .bootstrap-table .fixed-table-container .table.table-sm .th-inner {
+      padding: .3rem; }
+  .bootstrap-table .fixed-table-container .fixed-table-footer {
     overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-}
-
-.fixed-table-container thead th .sortable {
-    cursor: pointer;
-    background-position: right;
-    background-repeat: no-repeat;
-    padding-right: 30px;
-}
-
-.fixed-table-container thead th .both {
-    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
-}
-
-.fixed-table-container thead th .asc {
-    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
-}
-
-.fixed-table-container thead th .desc {
-    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ');
-}
-
-.fixed-table-container th.detail {
-    width: 30px;
-}
-
-.fixed-table-container tbody td {
-    border-left: 1px solid #dddddd;
-}
-
-.fixed-table-container tbody tr:first-child td {
-    border-top: none;
-}
-
-.fixed-table-container tbody td:first-child {
-    border-left: none;
-}
-
-/* the same color with .active */
-.fixed-table-container tbody .selected td {
-    background-color: #f5f5f5;
-}
-
-.fixed-table-container .bs-checkbox {
-    text-align: center;
-}
-
-.fixed-table-container input[type="radio"],
-.fixed-table-container input[type="checkbox"] {
-    margin: 0 auto !important;
-}
-
-.fixed-table-container .no-records-found {
-    text-align: center;
-}
-
-.fixed-table-pagination div.pagination,
-.fixed-table-pagination .pagination-detail {
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-
-.fixed-table-pagination div.pagination .pagination {
-    margin: 0;
-}
-
-.fixed-table-pagination .pagination a {
-    padding: 6px 12px;
-    line-height: 1.428571429;
-}
-
-.fixed-table-pagination ul.pagination li.page-intermediate a {
-    color:#c8c8c8;
-}
-
-.fixed-table-pagination ul.pagination li.page-intermediate a:before {
-    content: '\2B05';
-}
-
-.fixed-table-pagination ul.pagination li.page-intermediate a:after {
-    content: '\27A1';
-}
-
-.fixed-table-pagination .pagination-info {
-    line-height: 34px;
-    margin-right: 5px;
-}
-
-.fixed-table-pagination .btn-group {
+    border-top: 1px solid #dee2e6; }
+    .bootstrap-table .fixed-table-container .fixed-table-footer .table {
+      border-bottom: none;
+      border-radius: 0;
+      padding: 0 !important; }
+      .bootstrap-table .fixed-table-container .fixed-table-footer .table tbody > tr > td {
+        padding: 0 !important; }
+.bootstrap-table .fixed-table-pagination:after {
+  content: "";
+  display: block;
+  clear: both; }
+.bootstrap-table .fixed-table-pagination > .pagination-detail,
+.bootstrap-table .fixed-table-pagination > .pagination {
+  margin-top: 10px;
+  margin-bottom: 10px; }
+.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
+  line-height: 34px;
+  margin-right: 5px; }
+.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
+  display: inline-block; }
+  .bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
     position: relative;
     display: inline-block;
-    vertical-align: middle;
-}
-
-.fixed-table-pagination .dropup .dropdown-menu {
-    margin-bottom: 0;
-}
-
-.fixed-table-pagination .page-list {
-    display: inline-block;
-}
-
-.fixed-table-toolbar .columns-left {
-    margin-right: 5px;
-}
-
-.fixed-table-toolbar .columns-right {
-    margin-left: 5px;
-}
-
-.fixed-table-toolbar .columns label {
-    display: block;
-    padding: 3px 20px;
-    clear: both;
-    font-weight: normal;
-    line-height: 1.428571429;
-}
-
-.fixed-table-toolbar .bs-bars,
-.fixed-table-toolbar .search,
-.fixed-table-toolbar .columns {
-    position: relative;
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-
-.fixed-table-pagination li.disabled a {
+    vertical-align: middle; }
+    .bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
+      margin-bottom: 0; }
+.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
+  margin: 0; }
+  .bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
+    padding: 6px 12px;
+    line-height: 1.428571429; }
+  .bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
+    color: #c8c8c8; }
+    .bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a:before {
+      content: '\2B05'; }
+    .bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a:after {
+      content: '\27A1'; }
+  .bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
     pointer-events: none;
-    cursor: default;
-}
-
-.fixed-table-loading {
-    display: none;
-    position: absolute;
-    top: 42px;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    z-index: 99;
-    background-color: #fff;
-    text-align: center;
-}
-
-.fixed-table-body .card-view .title {
-    font-weight: bold;
-    display: inline-block;
-    min-width: 30%;
-    text-align: left !important;
-}
-
-/* support bootstrap 2 */
-.fixed-table-body thead th .th-inner {
-    box-sizing: border-box;
-}
-
-.table th, .table td {
-    vertical-align: middle;
-    box-sizing: border-box;
-}
-
-.fixed-table-toolbar .dropdown-menu {
-    text-align: left;
-    max-height: 300px;
-    overflow: auto;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group {
-    display: inline-block;
-    margin-left: -1px !important;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group > .btn {
-    border-radius: 0;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
-    border-top-left-radius: 4px;
-    border-bottom-left-radius: 4px;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
-    border-top-right-radius: 4px;
-    border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .table > thead > tr > th {
-    vertical-align: bottom;
-    border-bottom: 1px solid #ddd;
-}
-
-.bootstrap-table .table > thead.thead-dark > tr > th {
-    border-bottom: 1px solid #212529;
-}
-
-/* support bootstrap 3 */
-.bootstrap-table .table thead > tr > th {
-    padding: 0;
-    margin: 0;
-}
-
-.bootstrap-table .fixed-table-footer tbody > tr > td {
-    padding: 0 !important;
-}
-
-.bootstrap-table .fixed-table-footer .table {
-    border-bottom: none;
-    border-radius: 0;
-    padding: 0 !important;
-}
-
-.bootstrap-table .pull-right .dropdown-menu {
-    right: 0;
-    left: auto;
-}
+    cursor: default; }
+.bootstrap-table.fullscreen {
+  position: fixed;
+  top: 0;
+  left: 0;
+  z-index: 1050;
+  width: 100% !important;
+  background: #FFF; }
 
 /* calculate scrollbar width */
-p.fixed-table-scroll-inner {
-    width: 100%;
-    height: 200px;
-}
+div.fixed-table-scroll-inner {
+  width: 100%;
+  height: 200px; }
 
 div.fixed-table-scroll-outer {
-    top: 0;
-    left: 0;
-    visibility: hidden;
-    width: 200px;
-    height: 150px;
-    overflow: hidden;
-}
-
-/* for get correct heights  */
-.fixed-table-toolbar:after, .fixed-table-pagination:after {
-    content: "";
-    display: block;
-    clear: both;
-}
-
-.bootstrap-table.fullscreen {
-    position: fixed;
-    top: 0;
-    left: 0;
-    z-index: 1050;
-    width: 100%!important;
-    background: #FFF;
-}
+  top: 0;
+  left: 0;
+  visibility: hidden;
+  width: 200px;
+  height: 150px;
+  overflow: hidden; }
+
+/*# sourceMappingURL=bootstrap-table.css.map */

+ 101 - 92
dist/bootstrap-table.js

@@ -95,7 +95,7 @@
 
   /**
    * @author zhixin wen <wenzhixin2010@gmail.com>
-   * version: 1.13.2
+   * version: 1.13.3
    * https://github.com/wenzhixin/bootstrap-table/
    */
 
@@ -300,7 +300,7 @@
         }
       },
       getScrollBarWidth: function getScrollBarWidth() {
-        if (this.cachedWidth === null) {
+        if (this.cachedWidth === undefined) {
           var $inner = $('<div/>').addClass('fixed-table-scroll-inner');
           var $outer = $('<div/>').addClass('fixed-table-scroll-outer');
 
@@ -531,13 +531,9 @@
     // ======================
 
     var DEFAULTS = {
-      locale: undefined,
       height: undefined,
-      undefinedText: '-',
-      classes: 'table table-hover',
+      classes: 'table table-bordered table-hover',
       theadClasses: '',
-      sortClass: undefined,
-      striped: false,
       rowStyle: function rowStyle(row, index) {
         return {};
       },
@@ -545,23 +541,24 @@
         return {};
       },
 
+      undefinedText: '-',
+      locale: undefined,
       sortable: true,
+      sortClass: undefined,
       silentSort: true,
       sortName: undefined,
       sortOrder: 'asc',
       sortStable: false,
       rememberOrder: false,
-      customSort: $.noop,
+      customSort: undefined,
       columns: [[]],
       data: [],
-      totalField: 'total',
-      dataField: 'rows',
-      method: 'get',
       url: undefined,
-      ajax: undefined,
+      method: 'get',
       cache: true,
       contentType: 'application/json',
       dataType: 'json',
+      ajax: undefined,
       ajaxOptions: {},
       queryParams: function queryParams(params) {
         return params;
@@ -571,11 +568,13 @@
         return res;
       },
 
+      totalField: 'total',
+      dataField: 'rows',
       pagination: false,
       onlyInfoPagination: false,
       paginationLoop: true,
       sidePagination: 'client', // client or server
-      totalRows: 0, // server side need to set
+      totalRows: 0,
       pageNumber: 1,
       pageSize: 10,
       pageList: [10, 25, 50, 100],
@@ -594,7 +593,7 @@
       searchAlign: 'right',
       searchTimeOut: 500,
       searchText: '',
-      customSearch: $.noop,
+      customSearch: undefined,
       showHeader: true,
       showFooter: false,
       footerStyle: function footerStyle(row, index) {
@@ -859,18 +858,17 @@
           if (this.options.locale) {
             var locales = $.fn.bootstrapTable.locales;
             var parts = this.options.locale.split(/-|_/);
-            parts[0].toLowerCase();
+
+            parts[0] = parts[0].toLowerCase();
             if (parts[1]) {
-              parts[1].toUpperCase();
+              parts[1] = parts[1].toUpperCase();
             }
+
             if (locales[this.options.locale]) {
-              // locale as requested
               $.extend(this.options, locales[this.options.locale]);
-            } else if ($.fn.bootstrapTable.locales[parts.join('-')]) {
-              // locale with sep set to - (in case original was specified with _)
+            } else if (locales[parts.join('-')]) {
               $.extend(this.options, locales[parts.join('-')]);
-            } else if ($.fn.bootstrapTable.locales[parts[0]]) {
-              // short locale language code (i.e. 'en')
+            } else if (locales[parts[0]]) {
               $.extend(this.options, locales[parts[0]]);
             }
           }
@@ -901,11 +899,15 @@
           this.$container.after('<div class="clearfix"></div>');
 
           this.$el.addClass(this.options.classes);
-          if (this.options.striped) {
-            this.$el.addClass('table-striped');
-          }
-          if (this.options.classes.split(' ').includes('table-no-bordered')) {
-            this.$tableContainer.addClass('table-no-bordered');
+
+          if (this.options.height) {
+            this.$tableContainer.addClass('fixed-height');
+
+            if (this.options.classes.split(' ').includes('table-bordered')) {
+              this.$tableBody.append('<div class="fixed-table-border"></div>');
+              this.$tableBorder = this.$tableBody.find('.fixed-table-border');
+              this.$tableLoading.addClass('fixed-table-border');
+            }
           }
         }
       }, {
@@ -1214,80 +1216,83 @@
           var index = this.header.fields.indexOf(this.options.sortName);
           var timeoutId = 0;
 
-          if (this.options.customSort !== $.noop) {
-            this.options.customSort.apply(this, [this.options.sortName, this.options.sortOrder]);
-            return;
-          }
-
           if (index !== -1) {
             if (this.options.sortStable) {
               this.data.forEach(function (row, i) {
-                row._position = i;
+                if (!row.hasOwnProperty('_position')) {
+                  row._position = i;
+                }
               });
             }
 
-            this.data.sort(function (a, b) {
-              if (_this3.header.sortNames[index]) {
-                name = _this3.header.sortNames[index];
-              }
-              var aa = Utils.getItemField(a, name, _this3.options.escape);
-              var bb = Utils.getItemField(b, name, _this3.options.escape);
-              var value = Utils.calculateObjectValue(_this3.header, _this3.header.sorters[index], [aa, bb, a, b]);
+            if (this.options.customSort) {
+              Utils.calculateObjectValue(this.options, this.options.customSort, [this.options.sortName, this.options.sortOrder, this.data]);
+            } else {
+              this.data.sort(function (a, b) {
+                if (_this3.header.sortNames[index]) {
+                  name = _this3.header.sortNames[index];
+                }
+                var aa = Utils.getItemField(a, name, _this3.options.escape);
+                var bb = Utils.getItemField(b, name, _this3.options.escape);
+                var value = Utils.calculateObjectValue(_this3.header, _this3.header.sorters[index], [aa, bb, a, b]);
 
-              if (value !== undefined) {
-                if (_this3.options.sortStable && value === 0) {
-                  return a._position - b._position;
+                if (value !== undefined) {
+                  if (_this3.options.sortStable && value === 0) {
+                    return order * (a._position - b._position);
+                  }
+                  return order * value;
                 }
-                return order * value;
-              }
 
-              // Fix #161: undefined or null string sort bug.
-              if (aa === undefined || aa === null) {
-                aa = '';
-              }
-              if (bb === undefined || bb === null) {
-                bb = '';
-              }
+                // Fix #161: undefined or null string sort bug.
+                if (aa === undefined || aa === null) {
+                  aa = '';
+                }
+                if (bb === undefined || bb === null) {
+                  bb = '';
+                }
 
-              if (_this3.options.sortStable && aa === bb) {
-                aa = a._position;
-                bb = b._position;
-                return a._position - b._position;
-              }
+                if (_this3.options.sortStable && aa === bb) {
+                  aa = a._position;
+                  bb = b._position;
+                }
 
-              // IF both values are numeric, do a numeric comparison
-              if ($.isNumeric(aa) && $.isNumeric(bb)) {
-                // Convert numerical values form string to float.
-                aa = parseFloat(aa);
-                bb = parseFloat(bb);
-                if (aa < bb) {
-                  return order * -1;
+                // IF both values are numeric, do a numeric comparison
+                if ($.isNumeric(aa) && $.isNumeric(bb)) {
+                  // Convert numerical values form string to float.
+                  aa = parseFloat(aa);
+                  bb = parseFloat(bb);
+                  if (aa < bb) {
+                    return order * -1;
+                  }
+                  if (aa > bb) {
+                    return order;
+                  }
+                  return 0;
                 }
-                return order;
-              }
 
-              if (aa === bb) {
-                return 0;
-              }
+                if (aa === bb) {
+                  return 0;
+                }
 
-              // If value is not a string, convert to string
-              if (typeof aa !== 'string') {
-                aa = aa.toString();
-              }
+                // If value is not a string, convert to string
+                if (typeof aa !== 'string') {
+                  aa = aa.toString();
+                }
 
-              if (aa.localeCompare(bb) === -1) {
-                return order * -1;
-              }
+                if (aa.localeCompare(bb) === -1) {
+                  return order * -1;
+                }
 
-              return order;
-            });
+                return order;
+              });
+            }
 
             if (this.options.sortClass !== undefined) {
               clearTimeout(timeoutId);
               timeoutId = setTimeout(function () {
                 _this3.$el.removeClass(_this3.options.sortClass);
-                var index = _this3.$header.find(Utils.sprintf('[data-field="%s"]', _this3.options.sortName).index() + 1);
-                _this3.$el.find(Utils.sprintf('tr td:nth-child(%s)', index)).addClass(_this3.options.sortClass);
+                var index = _this3.$header.find('[data-field="' + _this3.options.sortName + '"]').index();
+                _this3.$el.find('tr td:nth-child(' + (index + 1) + ')').addClass(_this3.options.sortClass);
               }, 250);
             }
           }
@@ -1507,7 +1512,7 @@
           var _this5 = this;
 
           if (this.options.sidePagination !== 'server') {
-            if (this.options.customSearch !== $.noop) {
+            if (this.options.customSearch) {
               Utils.calculateObjectValue(this.options, this.options.customSearch, [this.searchText]);
               return;
             }
@@ -1709,8 +1714,7 @@
             var middleSize = Math.round(this.options.paginationPagesBySide / 2);
             var pageItem = function pageItem(i) {
               var classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
-
-              return '\n            <li class="page-item' + classes + (i === _this6.options.pageNumber ? ' active' : '') + '">\n              <a class="page-link" href="#">' + i + '</a>\n            </li>\n          ';
+              return '\n          <li class="page-item' + classes + (i === _this6.options.pageNumber ? ' active' : '') + '">\n            <a class="page-link" href="#">' + i + '</a>\n          </li>\n        ';
             };
 
             if (from > 1) {
@@ -2427,7 +2431,9 @@
 
               _this9.load(res);
               _this9.trigger('load-success', res);
-              if (!silent) _this9.$tableLoading.hide();
+              if (!silent) {
+                _this9.$tableLoading.hide();
+              }
             },
             error: function error(jqXHR) {
               var data = [];
@@ -2606,7 +2612,9 @@
 
             if (_this12.options.detailView && !_this12.options.cardView) {
               if (i === 0) {
-                _this12.$header_.find('th.detail').find('.fht-cell').width($this.innerWidth());
+                var $thDetail = $ths.filter('.detail');
+                var _zoomWidth = $thDetail.width() - $thDetail.find('.fht-cell').width();
+                $thDetail.find('.fht-cell').width($this.innerWidth() - _zoomWidth);
               }
               index = i - 1;
             }
@@ -2851,14 +2859,6 @@
 
           this.$selectAll.prop('checked', this.$selectItem.length > 0 && this.$selectItem.length === this.$selectItem.filter(':checked').length);
 
-          if (this.options.height) {
-            var toolbarHeight = this.$toolbar.outerHeight(true);
-            var paginationHeight = this.$pagination.outerHeight(true);
-            var height = this.options.height - toolbarHeight - paginationHeight;
-
-            this.$tableContainer.css('height', height + 'px');
-          }
-
           if (this.options.cardView) {
             // remove the element css
             this.$el.css('margin-top', '0');
@@ -2883,6 +2883,15 @@
             }
           }
 
+          if (this.options.height) {
+            var toolbarHeight = this.$toolbar.outerHeight(true);
+            var paginationHeight = this.$pagination.outerHeight(true);
+            var height = this.options.height - toolbarHeight - paginationHeight;
+            var tableHeight = this.$tableBody.find('table').outerHeight(true);
+            this.$tableContainer.css('height', height + 'px');
+            this.$tableBorder && this.$tableBorder.css('height', height - tableHeight - padding - 1 + 'px');
+          }
+
           // Assign the correct sortable arrow
           this.getCaret();
           this.$tableContainer.css('padding-bottom', padding + 'px');

File diff suppressed because it is too large
+ 2 - 2
dist/bootstrap-table.min.css


File diff suppressed because it is too large
+ 2 - 2
dist/bootstrap-table.min.js


File diff suppressed because it is too large
+ 265 - 97
dist/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js


File diff suppressed because it is too large
+ 2 - 2
dist/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js


+ 255 - 123
dist/extensions/addrbar/bootstrap-table-addrbar.js

@@ -1,139 +1,271 @@
 (function (global, factory) {
-    if (typeof define === "function" && define.amd) {
-        define([], factory);
-    } else if (typeof exports !== "undefined") {
-        factory();
-    } else {
-        var mod = {
-            exports: {}
-        };
-        factory();
-        global.bootstrapTableAddrbar = mod.exports;
-    }
+  if (typeof define === "function" && define.amd) {
+    define([], factory);
+  } else if (typeof exports !== "undefined") {
+    factory();
+  } else {
+    var mod = {
+      exports: {}
+    };
+    factory();
+    global.bootstrapTableAddrbar = mod.exports;
+  }
 })(this, function () {
-    'use strict';
+  'use strict';
+
+  function _classCallCheck(instance, Constructor) {
+    if (!(instance instanceof Constructor)) {
+      throw new TypeError("Cannot call a class as a function");
+    }
+  }
+
+  var _createClass = function () {
+    function defineProperties(target, props) {
+      for (var i = 0; i < props.length; i++) {
+        var descriptor = props[i];
+        descriptor.enumerable = descriptor.enumerable || false;
+        descriptor.configurable = true;
+        if ("value" in descriptor) descriptor.writable = true;
+        Object.defineProperty(target, descriptor.key, descriptor);
+      }
+    }
 
-    var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
-        return typeof obj;
-    } : function (obj) {
-        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+    return function (Constructor, protoProps, staticProps) {
+      if (protoProps) defineProperties(Constructor.prototype, protoProps);
+      if (staticProps) defineProperties(Constructor, staticProps);
+      return Constructor;
     };
+  }();
+
+  function _possibleConstructorReturn(self, call) {
+    if (!self) {
+      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+    }
+
+    return call && (typeof call === "object" || typeof call === "function") ? call : self;
+  }
+
+  var _get = function get(object, property, receiver) {
+    if (object === null) object = Function.prototype;
+    var desc = Object.getOwnPropertyDescriptor(object, property);
+
+    if (desc === undefined) {
+      var parent = Object.getPrototypeOf(object);
 
-    /**
-     * @author: general
-     * @version: 1.0.0
-     * @website: note.generals.space
-     * @email: generals.space@gmail.com
-     * @github: https://github.com/generals-space/bootstrap-table-addrbar
-     */
-
-    (function ($) {
-        'use strict';
-
-        /*
-         * function: 获取浏览器地址栏中的指定参数.
-         * key: 参数名
-         * url: 默认为当前地址栏
-         */
-
-        function _GET(key, url) {
-            var url = url ? url : window.location.search;
-            /* 
-            * 注意这里正则表达式的书写方法
-            * (^|&)key匹配: 直接以key开始或以&key开始的字符串
-            * 同理(&|$)表示以&结束或是直接结束的字符串
-            * ...当然, 我并不知道这种用法.
-            */
-            var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)');
-            var result = url.substr(1).match(reg);
-
-            // if(result != null) return unescape(result[2]);
-            if (result != null) return decodeURIComponent(result[2]);
-            return null;
+      if (parent === null) {
+        return undefined;
+      } else {
+        return get(parent, property, receiver);
+      }
+    } else if ("value" in desc) {
+      return desc.value;
+    } else {
+      var getter = desc.get;
+
+      if (getter === undefined) {
+        return undefined;
+      }
+
+      return getter.call(receiver);
+    }
+  };
+
+  function _inherits(subClass, superClass) {
+    if (typeof superClass !== "function" && superClass !== null) {
+      throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+    }
+
+    subClass.prototype = Object.create(superClass && superClass.prototype, {
+      constructor: {
+        value: subClass,
+        enumerable: false,
+        writable: true,
+        configurable: true
+      }
+    });
+    if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+  }
+
+  var _slicedToArray = function () {
+    function sliceIterator(arr, i) {
+      var _arr = [];
+      var _n = true;
+      var _d = false;
+      var _e = undefined;
+
+      try {
+        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
+          _arr.push(_s.value);
+
+          if (i && _arr.length === i) break;
+        }
+      } catch (err) {
+        _d = true;
+        _e = err;
+      } finally {
+        try {
+          if (!_n && _i["return"]) _i["return"]();
+        } finally {
+          if (_d) throw _e;
         }
+      }
+
+      return _arr;
+    }
+
+    return function (arr, i) {
+      if (Array.isArray(arr)) {
+        return arr;
+      } else if (Symbol.iterator in Object(arr)) {
+        return sliceIterator(arr, i);
+      } else {
+        throw new TypeError("Invalid attempt to destructure non-iterable instance");
+      }
+    };
+  }();
+
+  /**
+   * @author: general
+   * @version: 1.0.0
+   * @website: note.generals.space
+   * @email: generals.space@gmail.com
+   * @github: https://github.com/generals-space/bootstrap-table-addrbar
+   */
+
+  (function ($) {
+    /*
+       * function: 获取浏览器地址栏中的指定参数.
+       * key: 参数名
+       * url: 默认为当前地址栏
+       */
+    function _GET(key) {
+      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
+
+      /*
+       * 注意这里正则表达式的书写方法
+       * (^|&)key匹配: 直接以key开始或以&key开始的字符串
+       * 同理(&|$)表示以&结束或是直接结束的字符串
+       * ...当然, 我并不知道这种用法.
+       */
+      var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)');
+      var result = url.substr(1).match(reg);
+
+      if (result) {
+        return decodeURIComponent(result[2]);
+      }
+      return null;
+    }
+
+    /*
+      * function: 根据给定参数生成url地址
+      * var dic = {name: 'genreal', age: 24}
+      * var url = 'https://www.baidu.com?age=22';
+      * _buildUrl(dic, url);
+      * 将得到"https://www.baidu.com?age=24&name=genreal"
+      * 哦, 忽略先后顺序吧...
+      *
+      * 补充: 可以参考浏览器URLSearchParams对象, 更加方便和强大.
+      * 考虑到兼容性, 暂时不使用这个工具.
+      */
+
+    function _buildUrl(dict) {
+      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
+      var _iteratorNormalCompletion = true;
+      var _didIteratorError = false;
+      var _iteratorError = undefined;
+
+      try {
+        for (var _iterator = Object.entries(dict)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+          var _ref = _step.value;
+
+          var _ref2 = _slicedToArray(_ref, 2);
 
-        /*
-        * function: 根据给定参数生成url地址
-        * var dic = {name: 'genreal', age: 24}
-        * var url = 'https://www.baidu.com?age=22';
-        * _buildUrl(dic, url);
-        * 将得到"https://www.baidu.com?age=24&name=genreal"
-        * 哦, 忽略先后顺序吧...
-        * 
-        * 补充: 可以参考浏览器URLSearchParams对象, 更加方便和强大. 
-        * 考虑到兼容性, 暂时不使用这个工具.
-        */
-
-        function _buildUrl(dict, url) {
-            var url = url ? url : window.location.search;
-
-            for (var key in dict) {
-                var val = dict[key];
-
-                // 搜索name=general这种形式的字符串(&是分隔符)
-                var pattern = key + '=([^&]*)';
-                var targetStr = key + '=' + val;
-
-                /*
-                * 如果目标url中包含了key键, 我们需要将它替换成我们自己的val
-                * 不然就直接添加好了.
-                */
-                if (url.match(pattern)) {
-                    var tmp = new RegExp('(' + key + '=)([^&]*)', 'gi');
-                    url = url.replace(tmp, targetStr);
-                } else {
-                    var seperator = url.match('[\?]') ? '&' : '?';
-                    url = url + seperator + targetStr;
-                }
-            }
-            return url;
+          var key = _ref2[0];
+          var val = _ref2[1];
+
+          // 搜索name=general这种形式的字符串(&是分隔符)
+          var pattern = key + '=([^&]*)';
+          var targetStr = key + '=' + val;
+
+          /*
+           * 如果目标url中包含了key键, 我们需要将它替换成我们自己的val
+           * 不然就直接添加好了.
+           */
+          if (url.match(pattern)) {
+            var tmp = new RegExp('(' + key + '=)([^&]*)', 'gi');
+            url = url.replace(tmp, targetStr);
+          } else {
+            var seperator = url.match('[?]') ? '&' : '?';
+            url = url + seperator + targetStr;
+          }
+        }
+      } catch (err) {
+        _didIteratorError = true;
+        _iteratorError = err;
+      } finally {
+        try {
+          if (!_iteratorNormalCompletion && _iterator.return) {
+            _iterator.return();
+          }
+        } finally {
+          if (_didIteratorError) {
+            throw _iteratorError;
+          }
         }
+      }
+
+      return url;
+    }
+
+    $.BootstrapTable = function (_$$BootstrapTable) {
+      _inherits(_class, _$$BootstrapTable);
 
-        /*
-         * 实例化bootstrapTable对象时, 合并用户选项
-         */
-        var _bootstrapTable = $.fn.bootstrapTable;
-        $.fn.bootstrapTable = function (option) {
-            if (!((typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object')) {
-                // 直接传入arguments不行, 因为它是一个类数组的对象, 
-                // 而bt对参数的处理是面向原生参数列表的.
-                // 目前来看, bt还没有超过2个参数的方法, 暂时先这么用着
-                return _bootstrapTable.call(this, arguments[0], arguments[1]);
-            }
-
-            // 拥有addrbar选项并且其值为true的才会继续执行
-            if (!(option.hasOwnProperty('addrbar') && option.addrbar == true)) return _bootstrapTable.call(this, option);
+      function _class() {
+        _classCallCheck(this, _class);
+
+        return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));
+      }
+
+      _createClass(_class, [{
+        key: 'init',
+        value: function init() {
+          var _this2 = this;
+
+          // 拥有addrbar选项并且其值为true的才会继续执行
+          if (this.options.addrbar) {
             // 标志位, 初始加载后关闭
-            option._addrbarInit = true;
-            var _prefix = option.addrPrefix || '';
-            var _defaults = _bootstrapTable.defaults;
+            this.addrbarInit = true;
+            var _prefix = this.options.addrPrefix || '';
 
             // 优先级排序: 用户指定值最优先, 未指定时从地址栏获取, 未获取到时采用默认值
+            this.options.pageSize = this.options.pageSize || (_GET(_prefix + 'limit') ? parseInt(_GET(_prefix + 'limit')) : $.BootstrapTable.DEFAULTS.pageSize);
+            this.options.pageNumber = this.options.pageNumber || (_GET(_prefix + 'page') ? parseInt(_GET(_prefix + 'page')) : $.BootstrapTable.DEFAULTS.pageNumber);
+            this.options.sortOrder = this.options.sortOrder || (_GET(_prefix + 'order') ? _GET(_prefix + 'order') : $.BootstrapTable.DEFAULTS.sortOrder);
+            this.options.sortName = this.options.sortName || (_GET(_prefix + 'sort') ? _GET(_prefix + 'sort') : 'id');
+            this.options.searchText = this.options.searchText || (_GET(_prefix + 'search') ? _GET(_prefix + 'search') : $.BootstrapTable.DEFAULTS.searchText);
 
-            option.pageSize = option.pageSize || (_GET(_prefix + 'limit') ? parseInt(_GET(_prefix + 'limit')) : _defaults.pageSize);
-            option.pageNumber = option.pageNumber || (_GET(_prefix + 'page') ? parseInt(_GET(_prefix + 'page')) : _defaults.pageNumber);
-            option.sortOrder = option.sortOrder || (_GET(_prefix + 'order') ? _GET(_prefix + 'order') : _defaults.sortOrder);
-            option.sortName = option.sortName || (_GET(_prefix + 'sort') ? _GET(_prefix + 'sort') : 'id');
-            option.searchText = option.searchText || (_GET(_prefix + 'search') ? _GET(_prefix + 'search') : _defaults.searchText);
-
-            option._onLoadSuccess = option.onLoadSuccess;
-            option.onLoadSuccess = function (data) {
-                // md, 这里的this是option是什么鬼(好像貌似就是option...ok, 当我没说)
-                var opts = this;
-                // 页面初始加载不必改写url
-                if (opts._addrbarInit) {
-                    opts._addrbarInit = false;
-                } else {
-                    var params = {};
-                    params[_prefix + 'page'] = opts.pageNumber, params[_prefix + 'limit'] = opts.pageSize, params[_prefix + 'order'] = opts.sortOrder, params[_prefix + 'sort'] = opts.sortName, params[_prefix + 'search'] = opts.searchText;
-                    // h5提供的修改浏览器地址栏的方法
-                    window.history.pushState({}, '', _buildUrl(params));
-                }
-
-                if (option._onLoadSuccess) option._onLoadSuccess.call(this, data);
+            var _onLoadSuccess = this.options.onLoadSuccess;
+
+            this.options.onLoadSuccess = function (data) {
+              if (_this2.addrbarInit) {
+                _this2.addrbarInit = false;
+              } else {
+                var params = {};
+                params[_prefix + 'page'] = _this2.options.pageNumber, params[_prefix + 'limit'] = _this2.options.pageSize, params[_prefix + 'order'] = _this2.options.sortOrder, params[_prefix + 'sort'] = _this2.options.sortName, params[_prefix + 'search'] = _this2.options.searchText;
+                // h5提供的修改浏览器地址栏的方法
+                window.history.pushState({}, '', _buildUrl(params));
+              }
+
+              if (_onLoadSuccess) {
+                _onLoadSuccess.call(_this2, data);
+              }
             };
+          }
+          _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'init', this).call(this);
+        }
+      }]);
 
-            return _bootstrapTable.call(this, option);
-        };
-    })(jQuery);
+      return _class;
+    }($.BootstrapTable);
+  })(jQuery);
 });

File diff suppressed because it is too large
+ 2 - 2
dist/extensions/addrbar/bootstrap-table-addrbar.min.js


+ 1 - 1
dist/extensions/auto-refresh/bootstrap-table-auto-refresh.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 11 - 7
dist/extensions/cookie/bootstrap-table-cookie.js

@@ -261,7 +261,7 @@
 
             header.find(searchControls).each(function () {
               var field = $(this).closest('[data-field]').data('field');
-              var filteredCookies = $.grep(parsedCookieFilters, function (cookie) {
+              var filteredCookies = parsedCookieFilters.filter(function (cookie) {
                 return cookie.field === field;
               });
 
@@ -365,7 +365,7 @@
       }, {
         key: 'onSort',
         value: function onSort() {
-          var event = arguments[0];
+          var event = arguments.length <= 0 ? undefined : arguments[0];
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onSort', this).call(this, event);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortOrder, this.options.sortOrder);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortName, this.options.sortName);
@@ -373,7 +373,7 @@
       }, {
         key: 'onPageNumber',
         value: function onPageNumber() {
-          var event = arguments[0];
+          var event = arguments.length <= 0 ? undefined : arguments[0];
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onPageNumber', this).call(this, event);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
           return false;
@@ -381,7 +381,7 @@
       }, {
         key: 'onPageListChange',
         value: function onPageListChange() {
-          var event = arguments[0];
+          var event = arguments.length <= 0 ? undefined : arguments[0];
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onPageListChange', this).call(this, event);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageList, this.options.pageSize);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
@@ -390,7 +390,7 @@
       }, {
         key: 'onPagePre',
         value: function onPagePre() {
-          var event = arguments[0];
+          var event = arguments.length <= 0 ? undefined : arguments[0];
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onPagePre', this).call(this, event);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
           return false;
@@ -398,7 +398,7 @@
       }, {
         key: 'onPageNext',
         value: function onPageNext() {
-          var event = arguments[0];
+          var event = arguments.length <= 0 ? undefined : arguments[0];
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onPageNext', this).call(this, event);
           UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
           return false;
@@ -427,7 +427,11 @@
       }, {
         key: 'onSearch',
         value: function onSearch() {
-          var target = Array.prototype.slice.apply(arguments);
+          for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+            args[_key] = arguments[_key];
+          }
+
+          var target = Array.prototype.slice.apply(args);
           _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'onSearch', this).call(this, this, target);
 
           if ($(target[0].currentTarget).parent().hasClass('search')) {

File diff suppressed because it is too large
+ 2 - 2
dist/extensions/cookie/bootstrap-table-cookie.min.js


+ 1 - 1
dist/extensions/copy-rows/bootstrap-table-copy-rows.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/defer-url/bootstrap-table-defer-url.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/editable/bootstrap-table-editable.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/export/bootstrap-table-export.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/filter-control/bootstrap-table-filter-control.js

@@ -223,7 +223,7 @@
           var fieldToFocusCallback = null;
           header.find(searchControls).each(function (index, ele) {
             field = $(this).closest('[data-field]').data('field');
-            result = $.grep(that.options.valuesFilterControl, function (valueObj) {
+            result = that.options.valuesFilterControl.filter(function (valueObj) {
               return valueObj.field === field;
             });
 

+ 1 - 1
dist/extensions/filter-control/bootstrap-table-filter-control.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

File diff suppressed because it is too large
+ 2 - 2
dist/extensions/filter-control/bootstrap-table-filter-control.min.js


+ 12 - 7
dist/extensions/group-by-v2/bootstrap-table-group-by.js

@@ -15,10 +15,10 @@
 
     /**
      * @author: Yura Knoxville
-     * @version: v1.0.0
+     * @version: v1.1.0
      */
 
-    !function ($) {
+    (function ($) {
 
         'use strict';
 
@@ -55,7 +55,8 @@
 
         $.extend($.fn.bootstrapTable.defaults, {
             groupBy: false,
-            groupByField: ''
+            groupByField: '',
+            groupByFormatter: undefined
         });
 
         var BootstrapTable = $.fn.bootstrapTable.Constructor,
@@ -86,7 +87,8 @@
                 $.each(groups, function (key, value) {
                     tableGroups.push({
                         id: index,
-                        name: key
+                        name: key,
+                        data: value
                     });
 
                     value.forEach(function (item) {
@@ -138,8 +140,11 @@
                     if (checkBox) {
                         html.push('<td class="bs-checkbox">', '<input name="btSelectGroup" type="checkbox" />', '</td>');
                     }
-
-                    html.push('<td', sprintf(' colspan="%s"', visibleColumns), '>', item.name, '</td>');
+                    var formattedValue = item.name;
+                    if (typeof that.options.groupByFormatter == "function") {
+                        formattedValue = that.options.groupByFormatter(item.name, item.id, item.data);
+                    }
+                    html.push('<td', sprintf(' colspan="%s"', visibleColumns), '>', formattedValue, '</td>');
 
                     html.push('</tr>');
 
@@ -225,5 +230,5 @@
             }
             this.trigger(checked ? 'check-all' : 'uncheck-all', rows);
         };
-    }(jQuery);
+    })(jQuery);
 });

+ 1 - 1
dist/extensions/group-by-v2/bootstrap-table-group-by.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

File diff suppressed because it is too large
+ 2 - 2
dist/extensions/group-by-v2/bootstrap-table-group-by.min.js


+ 1 - 1
dist/extensions/group-by/bootstrap-table-group-by.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/group-by/bootstrap-table-group-by.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/i18n-enhance/bootstrap-table-i18n-enhance.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/key-events/bootstrap-table-key-events.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/mobile/bootstrap-table-mobile.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/multi-column-toggle/bootstrap-table-multi-toggle.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/multiple-search/bootstrap-table-multiple-search.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/natural-sorting/bootstrap-table-natural-sorting.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/page-jump-to/bootstrap-table-page-jump-to.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 341 - 0
dist/extensions/pipeline/bootstrap-table-pipeline.js

@@ -0,0 +1,341 @@
+(function (global, factory) {
+    if (typeof define === "function" && define.amd) {
+        define([], factory);
+    } else if (typeof exports !== "undefined") {
+        factory();
+    } else {
+        var mod = {
+            exports: {}
+        };
+        factory();
+        global.bootstrapTablePipeline = mod.exports;
+    }
+})(this, function () {
+    'use strict';
+
+    /**
+     * @author doug-the-guy
+     * @version v1.0.0
+     * 
+     * Boostrap Table Pipeline
+     * -----------------------
+     *
+     * This plugin enables client side data caching for server side requests which will
+     * eliminate the need to issue a new request every page change. This will allow
+     * for a performance balance for a large data set between returning all data at once
+     * (client side paging) and a new server side request (server side paging).
+     *
+     * There are two new options:
+     *  - usePipeline: enables this feature
+     *  - pipelineSize: the size of each cache window
+     *
+     * The size of the pipeline must be evenly divisible by the current page size. This is
+     * assured by rounding up to the nearest evenly divisible value. For example, if
+     * the pipeline size is 4990 and the current page size is 25, then pipeline size will
+     * be dynamically set to 5000.
+     *
+     * The cache windows are computed based on the pipeline size and the total number of rows
+     * returned by the server side query. For example, with pipeline size 500 and total rows
+     * 1300, the cache windows will be:
+     *
+     *  [{'lower': 0, 'upper': 499}, {'lower': 500, 'upper': 999}, {'lower': 1000, 'upper': 1499}]
+     *
+     * Using the limit (i.e. the pipelineSize) and offset parameters, the server side request
+     * **MUST** return only the data in the requested cache window **AND** the total number of rows.
+     * To wit, the server side code must use the offset and limit parameters to prepare the response
+     * data.
+     *
+     * On a page change, the new offset is checked if it is within the current cache window. If so,
+     * the requested page data is returned from the cached data set. Otherwise, a new server side
+     * request will be issued for the new cache window.
+     * 
+     * The current cached data is only invalidated on these events:
+     *  * sorting
+     *  * searching
+     *  * page size change
+     *  * page change moves into a new cache window
+     *
+     * There are two new events:
+     *  - cached-data-hit.bs.table: issued when cached data is used on a page change
+     *  - cached-data-reset.bs.table: issued when the cached data is invalidated and a
+     *      new server side request is issued
+     *
+     **/
+
+    (function ($) {
+
+        'use strict';
+
+        var Utils = $.fn.bootstrapTable.utils;
+
+        $.extend($.fn.bootstrapTable.defaults, {
+            usePipeline: false,
+            pipelineSize: 1000,
+            onCachedDataHit: function onCachedDataHit(data) {
+                return false;
+            },
+            onCachedDataReset: function onCachedDataReset(data) {
+                return false;
+            }
+        });
+
+        $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
+            'cached-data-hit.bs.table': 'onCachedDataHit',
+            'cached-data-reset.bs.table': 'onCachedDataReset'
+        });
+
+        var BootstrapTable = $.fn.bootstrapTable.Constructor,
+            _init = BootstrapTable.prototype.init,
+            _initServer = BootstrapTable.prototype.initServer,
+            _onSearch = BootstrapTable.prototype.onSearch,
+            _onSort = BootstrapTable.prototype.onSort,
+            _onPageListChange = BootstrapTable.prototype.onPageListChange;
+
+        BootstrapTable.prototype.init = function () {
+            // needs to be called before initServer()  
+            this.initPipeline();
+            _init.apply(this, Array.prototype.slice.apply(arguments));
+        };
+
+        BootstrapTable.prototype.initPipeline = function () {
+            this.cacheRequestJSON = {};
+            this.cacheWindows = [];
+            this.currWindow = 0;
+            this.resetCache = true;
+        };
+
+        BootstrapTable.prototype.onSearch = function (event) {
+            /* force a cache reset on search */
+            if (this.options.usePipeline) {
+                this.resetCache = true;
+            }
+            _onSearch.apply(this, Array.prototype.slice.apply(arguments));
+        };
+
+        BootstrapTable.prototype.onSort = function (event) {
+            /* force a cache reset on sort */
+            if (this.options.usePipeline) {
+                this.resetCache = true;
+            }
+            _onSort.apply(this, Array.prototype.slice.apply(arguments));
+        };
+
+        BootstrapTable.prototype.onPageListChange = function (event) {
+            /* rebuild cache window on page size change */
+            var target = $(event.currentTarget);
+            var newPageSize = parseInt(target.text());
+            this.options.pipelineSize = this.calculatePipelineSize(this.options.pipelineSize, newPageSize);
+            this.resetCache = true;
+            _onPageListChange.apply(this, Array.prototype.slice.apply(arguments));
+        };
+
+        BootstrapTable.prototype.calculatePipelineSize = function (pipelineSize, pageSize) {
+            /* calculate pipeline size by rounding up to the nearest value evenly divisible
+             * by the pageSize */
+            if (pageSize == 0) return 0;
+            return Math.ceil(pipelineSize / pageSize) * pageSize;
+        };
+
+        BootstrapTable.prototype.setCacheWindows = function () {
+            /* set cache windows based on the total number of rows returned by server side
+             * request and the pipelineSize */
+            this.cacheWindows = [];
+            var numWindows = this.options.totalRows / this.options.pipelineSize;
+            for (var i = 0; i <= numWindows; i++) {
+                var b = i * this.options.pipelineSize;
+                this.cacheWindows[i] = { 'lower': b, 'upper': b + this.options.pipelineSize - 1 };
+            }
+        };
+
+        BootstrapTable.prototype.setCurrWindow = function (offset) {
+            /* set the current cache window index, based on where the current offset falls */
+            this.currWindow = 0;
+            for (var i = 0; i < this.cacheWindows.length; i++) {
+                if (this.cacheWindows[i].lower <= offset && offset <= this.cacheWindows[i].upper) {
+                    this.currWindow = i;
+                    break;
+                }
+            }
+        };
+
+        BootstrapTable.prototype.drawFromCache = function (offset, limit) {
+            /* draw rows from the cache using offset and limit */
+            var res = $.extend(true, {}, this.cacheRequestJSON);
+            var drawStart = offset - this.cacheWindows[this.currWindow].lower;
+            var drawEnd = drawStart + limit;
+            res.rows = res.rows.slice(drawStart, drawEnd);
+            return res;
+        };
+
+        BootstrapTable.prototype.initServer = function (silent, query, url) {
+            /* determine if requested data is in cache (on paging) or if 
+             * a new ajax request needs to be issued (sorting, searching, paging
+             * moving outside of cached data, page size change)
+             * initial version of this extension will entirely override base initServer 
+             **/
+
+            var data = {};
+            var index = this.header.fields.indexOf(this.options.sortName);
+
+            var params = {
+                searchText: this.searchText,
+                sortName: this.options.sortName,
+                sortOrder: this.options.sortOrder
+            };
+
+            var request = null;
+
+            if (this.header.sortNames[index]) {
+                params.sortName = this.header.sortNames[index];
+            }
+
+            if (this.options.pagination && this.options.sidePagination === 'server') {
+                params.pageSize = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
+                params.pageNumber = this.options.pageNumber;
+            }
+
+            if (!(url || this.options.url) && !this.options.ajax) {
+                return;
+            }
+
+            var useAjax = true;
+            if (this.options.queryParamsType === 'limit') {
+                params = {
+                    searchText: params.searchText,
+                    sortName: params.sortName,
+                    sortOrder: params.sortOrder
+                };
+                if (this.options.pagination && this.options.sidePagination === 'server') {
+                    params.limit = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
+                    params.offset = (this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize) * (this.options.pageNumber - 1);
+                    if (this.options.usePipeline) {
+                        // if cacheWindows is empty, this is the initial request
+                        if (!this.cacheWindows.length) {
+                            useAjax = true;
+                            params.drawOffset = params.offset;
+                            // cache exists: determine if the page request is entirely within the current cached window
+                        } else {
+                            var w = this.cacheWindows[this.currWindow];
+                            // case 1: reset cache but stay within current window (e.g. column sort)
+                            // case 2: move outside of the current window (e.g. search or paging)
+                            //  since each cache window is aligned with the current page size
+                            //  checking if params.offset is outside the current window is sufficient.
+                            //  need to requery for preceding or succeeding cache window
+                            //  also handle case 
+                            if (this.resetCache || params.offset < w.lower || params.offset > w.upper) {
+                                useAjax = true;
+                                this.setCurrWindow(params.offset);
+                                // store the relative offset for drawing the page data afterwards
+                                params.drawOffset = params.offset;
+                                // now set params.offset to the lower bound of the new cache window
+                                // the server will return that whole cache window
+                                params.offset = this.cacheWindows[this.currWindow].lower;
+                                // within current cache window
+                            } else {
+                                useAjax = false;
+                            }
+                        }
+                    } else {
+                        if (params.limit === 0) {
+                            delete params.limit;
+                        }
+                    }
+                }
+            }
+
+            // force an ajax call - this is on search, sort or page size change
+            if (this.resetCache) {
+                useAjax = true;
+                this.resetCache = false;
+            }
+
+            if (this.options.usePipeline && useAjax) {
+                /* in this scenario limit is used on the server to get the cache window
+                 * and drawLimit is used to get the page data afterwards */
+                params.drawLimit = params.limit;
+                params.limit = this.options.pipelineSize;
+            }
+
+            // cached results can be used
+            if (!useAjax) {
+                var res = this.drawFromCache(params.offset, params.limit);
+                this.load(res);
+                this.trigger('load-success', res);
+                this.trigger('cached-data-hit', res);
+                return;
+            }
+            // cached results can't be used
+            // continue base initServer code    
+            if (!$.isEmptyObject(this.filterColumnsPartial)) {
+                params.filter = JSON.stringify(this.filterColumnsPartial, null);
+            }
+
+            data = Utils.calculateObjectValue(this.options, this.options.queryParams, [params], data);
+
+            $.extend(data, query || {});
+
+            // false to stop request
+            if (data === false) {
+                return;
+            }
+
+            if (!silent) {
+                this.$tableLoading.show();
+            }
+            var self = this;
+
+            request = $.extend({}, Utils.calculateObjectValue(null, this.options.ajaxOptions), {
+                type: this.options.method,
+                url: url || this.options.url,
+                data: this.options.contentType === 'application/json' && this.options.method === 'post' ? JSON.stringify(data) : data,
+                cache: this.options.cache,
+                contentType: this.options.contentType,
+                dataType: this.options.dataType,
+                success: function success(res) {
+                    res = Utils.calculateObjectValue(self.options, self.options.responseHandler, [res], res);
+                    // cache results if using pipelining
+                    if (self.options.usePipeline) {
+                        // store entire request in cache
+                        self.cacheRequestJSON = $.extend(true, {}, res);
+                        // this gets set in load() also but needs to be set before
+                        // setting cacheWindows
+                        self.options.totalRows = res[self.options.totalField];
+                        // if this is a search, potentially less results will be returned
+                        // so cache windows need to be rebuilt. Otherwise it
+                        // will come out the same
+                        self.setCacheWindows();
+                        self.setCurrWindow(params.drawOffset);
+                        // just load data for the page
+                        res = self.drawFromCache(params.drawOffset, params.drawLimit);
+                        self.trigger('cached-data-reset', res);
+                    }
+                    self.load(res);
+                    self.trigger('load-success', res);
+                    if (!silent) self.$tableLoading.hide();
+                },
+                error: function error(res) {
+                    var data = [];
+                    if (self.options.sidePagination === 'server') {
+                        data = {};
+                        data[self.options.totalField] = 0;
+                        data[self.options.dataField] = [];
+                    }
+                    self.load(data);
+                    self.trigger('load-error', res.status, res);
+                    if (!silent) self.$tableLoading.hide();
+                }
+            });
+
+            if (this.options.ajax) {
+                Utils.calculateObjectValue(this, this.options.ajax, [request], null);
+            } else {
+                if (this._xhr && this._xhr.readyState !== 4) {
+                    this._xhr.abort();
+                }
+                this._xhr = $.ajax(request);
+            }
+        };
+
+        $.fn.bootstrapTable.methods.push();
+    })(jQuery);
+});

File diff suppressed because it is too large
+ 10 - 0
dist/extensions/pipeline/bootstrap-table-pipeline.min.js


+ 1 - 1
dist/extensions/print/bootstrap-table-print.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/reorder-rows/bootstrap-table-reorder-rows.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/resizable/bootstrap-table-resizable.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/select2-filter/bootstrap-table-select2-filter.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/sticky-header/bootstrap-table-sticky-header.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/sticky-header/bootstrap-table-sticky-header.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/toolbar/bootstrap-table-toolbar.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/tree-column/bootstrap-table-tree-column.min.css

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/tree-column/bootstrap-table-tree-column.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/extensions/treegrid/bootstrap-table-treegrid.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-af-ZA.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ar-SA.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ca-ES.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-cs-CZ.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-da-DK.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-de-DE.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-el-GR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-en-US.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-AR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-CL.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-CR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-ES.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-MX.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-NI.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-es-SP.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-et-EE.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-eu-EU.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-fa-IR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-fi-FI.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-fr-BE.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-fr-FR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-he-IL.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-hr-HR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-hu-HU.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-id-ID.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-it-IT.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ja-JP.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ka-GE.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ko-KR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ms-MY.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-nb-NO.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-nl-NL.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-pl-PL.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-pt-BR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-pt-PT.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ro-RO.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ru-RU.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-sk-SK.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-sv-SE.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-th-TH.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-tr-TR.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-uk-UA.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-ur-PK.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-uz-Latn-UZ.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-vi-VN.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-zh-CN.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT

+ 1 - 1
dist/locale/bootstrap-table-zh-TW.min.js

@@ -1,7 +1,7 @@
 /**
   * bootstrap-table - An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3).
   *
-  * @version v1.13.2
+  * @version v1.13.3
   * @homepage https://bootstrap-table.com
   * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
   * @license MIT