ソースを参照

Merge pull request #34 from wenzhixin/master

Update my repo
Dennis Hernández 10 年 前
コミット
b1d76388b5
65 ファイル変更4939 行追加34 行削除
  1. 5 1
      README.md
  2. 2 1
      docs/_i18n/en/documentation/column-options.md
  3. 2 1
      docs/_i18n/en/documentation/events.md
  4. 2 1
      docs/_i18n/en/documentation/localizations.md
  5. 2 1
      docs/_i18n/en/documentation/methods.md
  6. 2 1
      docs/_i18n/en/documentation/table-options.md
  7. 2 1
      docs/_i18n/es/documentation/column-options.md
  8. 2 1
      docs/_i18n/es/documentation/events.md
  9. 2 1
      docs/_i18n/es/documentation/localizations.md
  10. 2 1
      docs/_i18n/es/documentation/methods.md
  11. 2 1
      docs/_i18n/es/documentation/table-options.md
  12. 32 5
      docs/_i18n/zh-cn/documentation/column-options.md
  13. 30 5
      docs/_i18n/zh-cn/documentation/events.md
  14. 29 3
      docs/_i18n/zh-cn/documentation/localizations.md
  15. 61 3
      docs/_i18n/zh-cn/documentation/methods.md
  16. 90 5
      docs/_i18n/zh-cn/documentation/table-options.md
  17. 2 1
      docs/_includes/footer.html
  18. 264 0
      docs/dist/bootstrap-table.css
  19. 2206 0
      docs/dist/bootstrap-table.js
  20. 180 0
      docs/dist/extensions/cookie/bootstrap-table-cookie.js
  21. 83 0
      docs/dist/extensions/editable/bootstrap-table-editable.js
  22. 84 0
      docs/dist/extensions/export/bootstrap-table-export.js
  23. 67 0
      docs/dist/extensions/filter/bootstrap-table-filter.js
  24. 102 0
      docs/dist/extensions/flatJSON/bootstrap-table-flatJSON.js
  25. 35 0
      docs/dist/extensions/mobile/README.md
  26. 81 0
      docs/dist/extensions/mobile/bootstrap-table-mobile.js
  27. 78 0
      docs/dist/extensions/resizable/bootstrap-table-resizable.js
  28. 32 0
      docs/dist/extensions/sorting/bootstrap-table_natural-sorting.js
  29. 200 0
      docs/dist/extensions/toolbar/bootstrap-table-toolbar.js
  30. 40 0
      docs/dist/locale/bootstrap-table-ar-SA.js
  31. 44 0
      docs/dist/locale/bootstrap-table-cs-CZ.js
  32. 37 0
      docs/dist/locale/bootstrap-table-da-DK.js
  33. 37 0
      docs/dist/locale/bootstrap-table-de-DE.js
  34. 28 0
      docs/dist/locale/bootstrap-table-el-GR.js
  35. 43 0
      docs/dist/locale/bootstrap-table-en-US.js
  36. 31 0
      docs/dist/locale/bootstrap-table-es-AR.js
  37. 40 0
      docs/dist/locale/bootstrap-table-es-CR.js
  38. 32 0
      docs/dist/locale/bootstrap-table-es-MX.js
  39. 40 0
      docs/dist/locale/bootstrap-table-es-NI.js
  40. 40 0
      docs/dist/locale/bootstrap-table-es-SP.js
  41. 28 0
      docs/dist/locale/bootstrap-table-fr-BE.js
  42. 41 0
      docs/dist/locale/bootstrap-table-fr-FR.js
  43. 37 0
      docs/dist/locale/bootstrap-table-hu-HU.js
  44. 37 0
      docs/dist/locale/bootstrap-table-it-IT.js
  45. 40 0
      docs/dist/locale/bootstrap-table-ja-JP.js
  46. 40 0
      docs/dist/locale/bootstrap-table-ka-GE.js
  47. 1 1
      docs/dist/locale/bootstrap-table-ka-GE.min.js
  48. 37 0
      docs/dist/locale/bootstrap-table-ko-KR.js
  49. 40 0
      docs/dist/locale/bootstrap-table-ms-MY.js
  50. 37 0
      docs/dist/locale/bootstrap-table-nb-NO.js
  51. 28 0
      docs/dist/locale/bootstrap-table-nl-NL.js
  52. 37 0
      docs/dist/locale/bootstrap-table-pl-PL.js
  53. 41 0
      docs/dist/locale/bootstrap-table-pt-BR.js
  54. 28 0
      docs/dist/locale/bootstrap-table-pt-PT.js
  55. 7 0
      docs/dist/locale/bootstrap-table-ro-RO.min.js
  56. 36 0
      docs/dist/locale/bootstrap-table-ru-RU.js
  57. 37 0
      docs/dist/locale/bootstrap-table-sk-SK.js
  58. 37 0
      docs/dist/locale/bootstrap-table-sv-SE.js
  59. 37 0
      docs/dist/locale/bootstrap-table-th-TH.js
  60. 38 0
      docs/dist/locale/bootstrap-table-tr-TR.js
  61. 37 0
      docs/dist/locale/bootstrap-table-uk-UA.js
  62. 37 0
      docs/dist/locale/bootstrap-table-ur-PK.js
  63. 28 0
      docs/dist/locale/bootstrap-table-vi-VN.js
  64. 40 0
      docs/dist/locale/bootstrap-table-zh-CN.js
  65. 40 0
      docs/dist/locale/bootstrap-table-zh-TW.js

+ 5 - 1
README.md

@@ -10,7 +10,9 @@ An extended Bootstrap table with radio, checkbox, sort, pagination, and other ad
 
 To get started, check out http://bootstrap-table.wenzhixin.net.cn!
 
-More examples: https://github.com/wenzhixin/bootstrap-table-examples#examples-list
+More examples: https://github.com/wenzhixin/bootstrap-table-examples
+
+Resource issues: https://github.com/wenzhixin/bootstrap-table/issues?q=label%3Aresource+is%3Aclosed
 
 ## LICENSE
 
@@ -25,6 +27,7 @@ More examples: https://github.com/wenzhixin/bootstrap-table-examples#examples-li
 * Via data attributes
 * Show/Hide columns
 * Show/Hide headers
+* Show/Hide footers
 * Get data in JSON format using AJAX
 * Simple column sorting with a click
 * Format column
@@ -32,6 +35,7 @@ More examples: https://github.com/wenzhixin/bootstrap-table-examples#examples-li
 * Powerful pagination
 * Card view
 * Localization
+* Extensions
 
 ## How to get it
 

+ 2 - 1
docs/_i18n/en/documentation/column-options.md

@@ -8,7 +8,8 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>

+ 2 - 1
docs/_i18n/en/documentation/events.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Option Event</th>

+ 2 - 1
docs/_i18n/en/documentation/localizations.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>

+ 2 - 1
docs/_i18n/en/documentation/methods.md

@@ -8,7 +8,8 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>

+ 2 - 1
docs/_i18n/en/documentation/table-options.md

@@ -8,7 +8,8 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>

+ 2 - 1
docs/_i18n/es/documentation/column-options.md

@@ -8,7 +8,8 @@ Las propiedades de la columna están definidas en `jQuery.fn.bootstrapTable.colu
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Nombre</th>

+ 2 - 1
docs/_i18n/es/documentation/events.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Evento</th>

+ 2 - 1
docs/_i18n/es/documentation/localizations.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Nombre</th>

+ 2 - 1
docs/_i18n/es/documentation/methods.md

@@ -8,7 +8,8 @@ Sintaxis para llamar a un método: `$('#table').bootstrapTable('method', paramet
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Nombre</th>

+ 2 - 1
docs/_i18n/es/documentation/table-options.md

@@ -8,7 +8,8 @@ Las opciones de la tabla están definidas en `jQuery.fn.bootstrapTable.defaults`
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Nombre</th>

+ 32 - 5
docs/_i18n/zh-cn/documentation/column-options.md

@@ -8,7 +8,8 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>
@@ -69,6 +70,13 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
         <td>Indicate how to align the table header. 'left', 'right', 'center' can be used.</td>
     </tr>
     <tr>
+        <td>falign</td>
+        <td>data-falign</td>
+        <td>String</td>
+        <td>undefined</td>
+        <td>Indicate how to align the table footer. 'left', 'right', 'center' can be used.</td>
+    </tr>
+    <tr>
         <td>valign</td>
         <td>data-valign</td>
         <td>String</td>
@@ -78,9 +86,10 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
     <tr>
         <td>width</td>
         <td>data-width</td>
-        <td>Number</td>
+        <td>Number {Pixels or Percentage}</td>
         <td>undefined</td>
-        <td>The width of column. If not defined, the width will auto expand to fit its contents.</td>
+        <td>The width of column. If not defined, the width will auto expand to fit its contents. Also you can add '%' to your number and
+		the bootstrapTable will use the percentage unit, otherwise, you can add or no the 'px' to your number and then the bootstrapTable will use the pixels</td>
     </tr>
     <tr>
         <td>sortable</td>
@@ -105,6 +114,13 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
         <td>False to hide the columns item.</td>
     </tr>
     <tr>
+        <td>cardViewVisible</td>
+        <td>data-card-visible</td>
+        <td>Boolean</td>
+        <td>true</td>
+        <td>False to hide the columns item in card view state.</td>
+    </tr>
+	<tr>
         <td>switchable</td>
         <td>data-switchable</td>
         <td>Boolean</td>
@@ -130,6 +146,17 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
         index: the row index.</td>
     </tr>
     <tr>
+        <td>footerFormatter</td>
+        <td>data-footer-formatter</td>
+        <td>Function</td>
+        <td>undefined</td>
+        <td>
+        The context (this) is the column Object.
+        The function, take one parameter: <br>
+        data: Array of all the  data rows. <br>
+        the function should return a string with the text to show in the footer cell.
+    </tr>
+    <tr>
         <td>events</td>
         <td>data-events</td>
         <td>Object</td>
@@ -162,7 +189,7 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
         of the column. For example, a column might display the value of fieldName of "html" such as  
         "&lt;b&gt;&lt;span style="color:red"&gt;abc&lt;/span&gt;&lt;/b&gt;", but a fieldName to sort is "content" with the value of "abc".
         </td>
-    </tr>  
+    </tr>    
     <tr>
         <td>cellStyle</td>
         <td>data-cell-style</td>
@@ -185,5 +212,5 @@ The column options is defined in `jQuery.fn.bootstrapTable.columnDefaults`.
         True to search data for this column.
         </td>
     </tr>
-    </tbody>
+</tbody>
 </table>

+ 30 - 5
docs/_i18n/zh-cn/documentation/events.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Option Event</th>
@@ -77,14 +78,20 @@
     <tr>
         <td>onCheckAll</td>
         <td>check-all.bs.table</td>
-        <td>none</td>
-        <td>Fires when user check all rows.</td>
+        <td>rows</td>
+        <td>
+        Fires when user check all rows, the parameters contains: <br>
+        rows: array of records corresponding to newly checked rows.
+        </td>
     </tr>
     <tr>
         <td>onUncheckAll</td>
         <td>uncheck-all.bs.table</td>
-        <td>none</td>
-        <td>Fires when user uncheck all rows.</td>
+        <td>rows</td>
+        <td>
+        Fires when user uncheck all rows, the parameters contains: <br>
+        rows: array of records corresponding to previously checked rows.
+        </td>
     </tr>
     <tr>
         <td>onLoadSuccess</td>
@@ -107,6 +114,12 @@
         <td>Fires when switch the column visible.</td>
     </tr>
     <tr>
+        <td>onColumnSearch</td>
+        <td>column-search.bs.table</td>
+        <td>field, text</td>
+        <td>Fires when search by column.</td>
+    </tr>
+    <tr>
         <td>onPageChange</td>
         <td>page-change.bs.table</td>
         <td>number, size</td>
@@ -119,6 +132,12 @@
         <td>Fires when search the table.</td>
     </tr>
     <tr>
+        <td>onToggle</td>
+        <td>toggle.bs.table</td>
+        <td>cardView</td>
+        <td>Fires when toggle the view of table.</td>
+    </tr>
+    <tr>
         <td>onPreBody</td>
         <td>pre-body.bs.table</td>
         <td>data</td>
@@ -130,5 +149,11 @@
         <td>none</td>
         <td>Fires after the table body is rendered and available in the DOM</td>
     </tr>
+    <tr>
+       <td>onPostHeader</td>
+       <td>post-header.bs.table</td>
+       <td>none</td>
+       <td>Fires after the table header is rendered and availble in the DOM</td>
+    </tr>
     </tbody>
 </table>

+ 29 - 3
docs/_i18n/zh-cn/documentation/localizations.md

@@ -6,7 +6,8 @@
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>
@@ -55,5 +56,30 @@
         <td>-</td>
         <td>'Columns'</td>
     </tr>
-    </tbody>
-</table>
+    <tr>
+        <td>formatAllRows</td>
+        <td>-</td>
+        <td>'All'</td>
+    </tr>
+	</tbody>
+</table>
+
+---
+
+**PS:**
+
+We can import [all locale files](https://github.com/wenzhixin/bootstrap-table/tree/master/src/locale) what you need:
+
+```html
+<script src="bootstrap-table-en-US.js"></script>
+<script src="bootstrap-table-zh-CN.js"></script>
+...
+```
+
+And then use JavaScript to switch locale:
+
+```js
+$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
+// $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
+// ...
+```

+ 61 - 3
docs/_i18n/zh-cn/documentation/methods.md

@@ -8,7 +8,8 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>
@@ -29,8 +30,8 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
     </tr>
     <tr>
         <td>getData</td>
-        <td>none</td>
-        <td>Get the loaded data of table.</td>
+        <td>useCurrentPage</td>
+        <td>Get the loaded data of table. If you set the useCurrentPage to true the method will return the data in the current page</td>
     </tr>
     <tr>
         <td>load</td>
@@ -75,6 +76,26 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
         row: the new row data.
         </td>
     </tr>
+	<tr>
+        <td>showRow</td>
+        <td>params</td>
+        <td>Show the specified row. the param contains following properties:
+        index: the row idenx or the idField.
+        isIdField: Boolean to indicates if index is the idField od the row or not.</td>
+    </tr>
+    <tr>
+        <td>hideRow</td>
+        <td>params</td>
+        <td>Hide the specified row. the param contains following properties:
+        index: the row idenx or the idField.
+        isIdField: Boolean to indicates if index is the idField od the row or not.</td>
+    </tr>
+    <tr>
+        <td>getRowsHidden</td>
+        <td>boolean</td>
+        <td>Get all rows hidden and if you pass the show parameter true the rows will be shown again, otherwise, the method
+        only will return the rows hidden.</td>
+    </tr>
     <tr>
         <td>mergeCells</td>
         <td>options</td>
@@ -122,11 +143,38 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
         <td>Uncheck a row, the row index start with 0.</td>
     </tr>
     <tr>
+        <td>checkBy</td>
+        <td>params</td>
+        <td>
+        Check a row by array of values, the params contains:<br>
+        field: name of the field used to find records<br>
+        values: array of values for rows to check<br>
+        Example: <br>
+        $("#table").bootstrapTable("checkBy", {field:"field_name", values:["value1","value2","value3"]})
+        </td>
+    </tr>
+    <tr>
+        <td>uncheckBy</td>
+        <td>params</td>
+        <td>
+        Uncheck a row by array of values, the params contains:<br>
+        field: name of the field used to find records<br>
+        values: array of values for rows to uncheck<br>
+        Example: <br>
+        $("#table").bootstrapTable("uncheckBy", {field:"field_name", values:["value1","value2","value3"]})
+        </td>
+    </tr>
+    <tr>
         <td>resetView</td>
         <td>params</td>
         <td>Reset the bootstrap table view, for example reset the table height.</td>
     </tr>
     <tr>
+        <td>resetWidth</td>
+        <td>none</td>
+        <td>Resizes header and footer to fit current columns width</td>
+    </tr>
+    <tr>
         <td>destroy</td>
         <td>none</td>
         <td>Destroy the bootstrap table.</td>
@@ -147,6 +195,11 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
         <td>Scroll to the number value position, set 'bottom' means scroll to the bottom.</td>
     </tr>
     <tr>
+        <td>getScrollPosition</td>
+        <td>none</td>
+        <td>Get the current scroll position.</td>
+    </tr>
+    <tr>
         <td>filterBy</td>
         <td>params</td>
         <td>(Can use only in client-side)Filter data in table, eg. you can filter <code>{age: 10}</code> to show the data only age is equal to 10.</td>
@@ -176,5 +229,10 @@ The calling method syntax: `$('#table').bootstrapTable('method', parameter);`.
         <td>none</td>
         <td>Toggle the card/table view.</td>
     </tr>
+	<tr>
+        <td>deleteCookie</td>
+        <td>cookie name</td>
+        <td>Delete a cookie created. You must use: 'sortOrder', 'sortName', 'pageNumber' or 'pageList'.</td>
+    </tr>
     </tbody>
 </table>

+ 90 - 5
docs/_i18n/zh-cn/documentation/table-options.md

@@ -8,7 +8,8 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
        data-toggle="table"
        data-search="true"
        data-show-toggle="true"
-       data-show-columns="true">
+       data-show-columns="true"
+       data-mobile-responsive="true">
     <thead>
     <tr>
         <th>Name</th>
@@ -31,7 +32,7 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>data-classes</td>
         <td>String</td>
         <td>'table table-hover'</td>
-        <td>The class name of table.</td>
+        <td>The class name of table. By default, the table is bordered, you can add 'table-no-bordered' to remove table-bordered style.</td>
     </tr>
     <tr>
         <td>height</td>
@@ -102,6 +103,13 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>The data to be loaded.</td>
     </tr>
     <tr>
+        <td>ajax</td>
+        <td>data-ajax</td>
+        <td>Function</td>
+        <td>undefined</td>
+        <td>A method to replace ajax call. Should implement the same API as jQuery ajax method</td>
+    </tr>
+    <tr>
         <td>method</td>
         <td>data-method</td>
         <td>String</td>
@@ -186,7 +194,7 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>data-side-pagination</td>
         <td>String</td>
         <td>'client'</td>
-        <td>Defines the side pagination of table, can only be 'client' or 'server'.</td>
+        <td>Defines the side pagination of table, can only be 'client' or 'server'. Using 'server' side requires either setting the 'url' or 'ajax' option</td>
     </tr>
     <tr>
         <td>pageNumber</td>
@@ -206,8 +214,8 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>pageList</td>
         <td>data-page-list</td>
         <td>Array</td>
-        <td>[10, 25, 50, 100]</td>
-        <td>When set pagination property, initialize the page size selecting list.</td>
+        <td>[10, 25, 50, 100, All]</td>
+        <td>When set pagination property, initialize the page size selecting list. If you include the 'All' option, all the records will be shown in your table</td>
     </tr>
     <tr>
         <td>selectItemName</td>
@@ -230,6 +238,13 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>false</td>
         <td>Enable the search input.</td>
     </tr>
+	<tr>
+        <td>searchText</td>
+        <td>data-search-text</td>
+        <td>String</td>
+        <td>''</td>
+        <td>When set search property, initialize the search text.</td>
+    </tr>
     <tr>
         <td>searchTimeOut</td>
         <td>data-search-time-out</td>
@@ -238,6 +253,13 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>Set timeout for search fire.</td>
     </tr>
     <tr>
+        <td>trimOnSearch</td>
+        <td>data-trim-on-search</td>
+        <td>Boolean</td>
+        <td>true</td>
+        <td>True to trim spaces in search field.</td>
+    </tr
+    <tr>
         <td>showHeader</td>
         <td>data-show-header</td>
         <td>Boolean</td>
@@ -245,6 +267,13 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>False to hide the table header.</td>
     </tr>
     <tr>
+        <td>showFooter</td>
+        <td>data-show-footer</td>
+        <td>Boolean</td>
+        <td>false</td>
+        <td>If true shows summary footer row</td>
+    </tr>
+    <tr>
         <td>showColumns</td>
         <td>data-show-columns</td>
         <td>Boolean</td>
@@ -289,6 +318,13 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>Indicate which field is an identity field.</td>
     </tr>
     <tr>
+        <td>uniqueId</td>
+        <td>data-unique-id</td>
+        <td>String</td>
+        <td>undefined</td>
+        <td>Indicate an unique identifier for each row.</td>
+    </tr>
+    <tr>
         <td>cardView</td>
         <td>data-card-view</td>
         <td>Boolean</td>
@@ -317,6 +353,55 @@ The table options is defined in `jQuery.fn.bootstrapTable.defaults`.
         <td>Indicate how to align the custom toolbar. 'left', 'right' can be used.</td>
     </tr>
     <tr>
+        <td>paginationVAlign</td>
+        <td>data-pagination-v-align</td>
+        <td>String</td>
+        <td>'bottom'</td>
+        <td>Indicate how to align the pagination. 'top', 'bottom', 'both' (put the pagination on top and bottom)  can be used.</td>
+    </tr>
+    <tr>
+        <td>paginationHAlign</td>
+        <td>data-pagination-h-align</td>
+        <td>String</td>
+        <td>'right'</td>
+        <td>Indicate how to align the pagination. 'left', 'right' can be used.</td>
+    </tr>
+    <tr>
+        <td>paginationDetailHAlign</td>
+        <td>data-pagination-detail-h-align</td>
+        <td>String</td>
+        <td>'left'</td>
+        <td>Indicate how to align the pagination detail. 'left', 'right' can be used.</td>
+    </tr>
+    <tr>
+        <td>paginationFirstText</td>
+        <td>data-pagination-first-text</td>
+        <td>String</td>
+        <td>'&lt;&lt;'</td>
+        <td>Indicate the icon or text to be shown in the pagination detail, the first button of the pagination detail.</td>
+    </tr>
+    <tr>
+        <td>paginationPreText</td>
+        <td>data-pagination-pre-text</td>
+        <td>String</td>
+        <td>'&lt;'</td>
+        <td>Indicate the icon or text to be shown in the pagination detail, the previous button.</td>
+    </tr>
+    <tr>
+        <td>paginationNextText</td>
+        <td>data-pagination-next-text</td>
+        <td>String</td>
+        <td>'&gt;'</td>
+        <td>Indicate the icon or text to be shown in the pagination detail, the next button.</td>
+    </tr>
+    <tr>
+        <td>paginationLastText</td>
+        <td>data-pagination-last-text</td>
+        <td>String</td>
+        <td>'&gt;&gt;'</td>
+        <td>Indicate the icon or text to be shown in the pagination detail, the last button.</td>
+    </tr>
+    <tr>
         <td>clickToSelect</td>
         <td>data-click-to-select</td>
         <td>Boolean</td>

+ 2 - 1
docs/_includes/footer.html

@@ -37,5 +37,6 @@
 <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
 <script src="../assets/js/ie10-viewport-bug-workaround.js"></script>
 
-<script src="../dist/bootstrap-table.min.js"></script>
+<script src="../dist/bootstrap-table.js"></script>
+<script src="../dist/extensions/mobile/bootstrap-table-mobile.js"></script>
 <script src="../assets/js/common.js"></script>

+ 264 - 0
docs/dist/bootstrap-table.css

@@ -0,0 +1,264 @@
+/**
+ * @author zhixin wen <wenzhixin2010@gmail.com>
+ * version: 1.7.0
+ * 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,
+.table>tbody>tr>th,
+.table>tfoot>tr>th,
+.table>thead>tr>td,
+.table>tbody>tr>td,
+.table>tfoot>tr>td {
+    padding: 8px !important;
+}
+
+.fixed-table-container {
+    position: relative;
+    clear: both;
+    border: 1px solid #dddddd;
+    border-radius: 4px;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+}
+
+.fixed-table-footer,
+.fixed-table-header {
+    height: 37px; /*cellHeight*/
+    overflow: hidden;
+    border-radius: 4px 4px 0 0;
+    -webkit-border-radius: 4px 4px 0 0;
+    -moz-border-radius: 4px 4px 0 0;
+}
+
+.fixed-table-header {
+    border-bottom: 1px solid #dddddd;
+}
+
+.fixed-table-footer {
+    border-top: 1px solid #dddddd;
+}
+
+.fixed-table-body {
+    overflow-x: auto;
+    overflow-y: auto;
+    height: 100%;
+}
+
+.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:first-child {
+    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 {
+    padding: 8px;
+    line-height: 24px;
+    vertical-align: top;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+.fixed-table-container thead th .sortable {
+    cursor: pointer;
+}
+
+.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 .bs-checkbox .th-inner {
+    padding: 8px 0;
+}
+
+.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 .pagination,
+.fixed-table-pagination .pagination-detail {
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+
+.fixed-table-pagination .pagination a {
+    padding: 6px 12px;
+    line-height: 1.428571429;
+}
+
+.fixed-table-pagination .pagination-info {
+    line-height: 34px;
+    margin-right: 5px;
+}
+
+.fixed-table-pagination .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 .bars,
+.fixed-table-toolbar .search,
+.fixed-table-toolbar .columns {
+    position: relative;
+    margin-top: 10px;
+    margin-bottom: 10px;
+    line-height: 34px;
+}
+
+.fixed-table-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: 2px solid #ddd;
+}
+
+/* support bootstrap 3 */
+.bootstrap-table .table thead > tr > th {
+    padding: 0;
+    margin: 0;
+}
+
+.pull-right .dropdown-menu {
+    right: 0;
+    left: auto;
+}
+
+/* calculate scrollbar width */
+p.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;
+}

ファイルの差分が大きいため隠しています
+ 2206 - 0
docs/dist/bootstrap-table.js


+ 180 - 0
docs/dist/extensions/cookie/bootstrap-table-cookie.js

@@ -0,0 +1,180 @@
+/**
+ * @author: Dennis Hernández
+ * @webSite: http://djhvscf.github.io/Blog
+ * @version: v1.0.0
+ *
+ * @update zhixin wen <wenzhixin2010@gmail.com>
+ */
+
+(function ($) {
+    'use strict';
+
+    var idStateSave = '',
+        idsStateSaveList = {
+            sortOrder: 'bs.table.sortOrder',
+            sortName: 'bs.table.sortName',
+            pageNumber: 'bs.table.pageNumber',
+            pageList: 'bs.table.pageList'
+        };
+
+    var cookieEnabled = function (){
+        return (navigator.cookieEnabled) ? true : false;
+    };
+
+    var setCookie = function (cookieName, sValue, vEnd, sPath, sDomain, bSecure) {
+        cookieName = idStateSave + cookieName;
+        if (!cookieName || /^(?:expires|max\-age|path|domain|secure)$/i.test(cookieName)) {
+            return false;
+        }
+        var sExpires = '',
+            time = '';
+
+        time = vEnd.replace(/[0-9]/,''); //s,mi,h,d,m,y
+        vEnd = vEnd.replace(/[A-Za-z]/,''); //number
+
+        switch (time.toLowerCase()) {
+            case 's':
+                vEnd = +vEnd;
+                break;
+            case 'mi':
+                vEnd = vEnd * 60;
+                break;
+            case 'h':
+                vEnd = vEnd * 60 * 60;
+                break;
+            case 'd':
+                vEnd = vEnd * 24 * 60 * 60;
+                break;
+            case 'm':
+                vEnd = vEnd * 30 * 24 * 60 * 60;
+                break;
+            case 'y':
+                vEnd = vEnd * 365 * 30 * 24 * 60 * 60;
+                break;
+            default:
+                vEnd = undefined;
+                break;
+        }
+
+        sExpires = vEnd === undefined ? '' : '; max-age=' + vEnd;
+
+        document.cookie = encodeURIComponent(cookieName) + '=' + encodeURIComponent(sValue) + sExpires + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '') + (bSecure ? '; secure' : '');
+        return true;
+    };
+
+    var getCookie = function (cookieName) {
+        cookieName = idStateSave + cookieName;
+        if (!cookieName) {
+            return null;
+        }
+        return decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + encodeURIComponent(cookieName).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1')) || null;
+    };
+
+    var hasCookie = function (cookieName) {
+        if (!cookieName) {
+            return false;
+        }
+        return (new RegExp('(?:^|;\\s*)' + encodeURIComponent(cookieName).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=')).test(document.cookie);
+    };
+
+    var deleteCookie = function (cookieName, sPath, sDomain) {
+        cookieName = idStateSave + cookieName;
+        if (!hasCookie(cookieName)) {
+            return false;
+        }
+        document.cookie = encodeURIComponent(cookieName) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '');
+        return true;
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        stateSave: false,
+        stateSaveExpire: '2h',
+        stateSaveIdTable: ''
+    });
+
+    $.fn.bootstrapTable.methods.push('deleteCookie');
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _init = BootstrapTable.prototype.init,
+        _onSort = BootstrapTable.prototype.onSort,
+        _onPageNumber = BootstrapTable.prototype.onPageNumber,
+        _onPageListChange = BootstrapTable.prototype.onPageListChange;
+
+    BootstrapTable.prototype.init = function () {
+        this.initStateSave();
+
+        _init.apply(this, Array.prototype.slice.apply(arguments));
+    };
+
+    BootstrapTable.prototype.initStateSave = function () {
+        if (!this.options.stateSave) {
+            return;
+        }
+
+        if (!cookieEnabled()) {
+            return;
+        }
+
+        if (this.options.stateSaveIdTable === '') {
+            return;
+        }
+
+        idStateSave = this.options.stateSaveIdTable + '.';
+
+        var sortOrderStateSave = getCookie(idsStateSaveList.sortOrder),
+            sortOrderStateName = getCookie(idsStateSaveList.sortName),
+            pageNumberStateSave = getCookie(idsStateSaveList.pageNumber),
+            pageListStateSave = getCookie(idsStateSaveList.pageList);
+
+        if (sortOrderStateSave !== undefined && sortOrderStateSave !== null) {
+            this.options.sortOrder = sortOrderStateSave;
+            this.options.sortName = sortOrderStateName;
+        }
+
+        if (pageNumberStateSave !== undefined && pageNumberStateSave !== null) {
+            this.options.pageNumber = +pageNumberStateSave;
+        }
+
+        if (pageListStateSave !== undefined && pageListStateSave !== null) {
+            this.options.pageSize = pageListStateSave ===
+                this.options.formatAllRows() ? pageListStateSave : +pageListStateSave;
+        }
+    };
+
+    BootstrapTable.prototype.onSort = function () {
+        _onSort.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.stateSave && cookieEnabled() && (this.options.stateSaveIdTable !== '')) {
+            setCookie(idsStateSaveList.sortOrder, this.options.sortOrder, this.options.stateSaveExpire);
+            setCookie(idsStateSaveList.sortName, this.options.sortName, this.options.stateSaveExpire);
+        }
+    };
+
+    BootstrapTable.prototype.onPageNumber = function () {
+        _onPageNumber.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.stateSave && cookieEnabled() && this.options.stateSaveIdTable !== '') {
+            setCookie(idsStateSaveList.pageNumber, this.options.pageNumber, this.options.stateSaveExpire);
+        }
+    };
+
+    BootstrapTable.prototype.onPageListChange = function () {
+        _onPageListChange.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.stateSave && cookieEnabled() && this.options.stateSaveIdTable !== '') {
+            setCookie(idsStateSaveList.pageList, this.options.pageSize, this.options.stateSaveExpire);
+        }
+    };
+
+    BootstrapTable.prototype.deleteCookie = function (cookieName) {
+        if (cookieName === '') {
+            return;
+        }
+
+        if (!cookieEnabled()) {
+            return;
+        }
+
+        deleteCookie(idsStateSaveList[cookieName]);
+    }
+})(jQuery);

+ 83 - 0
docs/dist/extensions/editable/bootstrap-table-editable.js

@@ -0,0 +1,83 @@
+/**
+ * @author zhixin wen <wenzhixin2010@gmail.com>
+ * extensions: https://github.com/vitalets/x-editable
+ */
+
+!function ($) {
+
+    'use strict';
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        editable: true,
+        onEditableInit: function () {
+            return false;
+        },
+        onEditableSave: function (field, row, oldValue, $el) {
+            return false;
+        }
+    });
+
+    $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
+        'editable-init.bs.table': 'onEditableInit',
+        'editable-save.bs.table': 'onEditableSave'
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _initTable = BootstrapTable.prototype.initTable,
+        _initBody = BootstrapTable.prototype.initBody;
+
+    BootstrapTable.prototype.initTable = function () {
+        var that = this;
+        _initTable.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (!this.options.editable) {
+            return;
+        }
+
+        $.each(this.options.columns, function (i, column) {
+            if (!column.editable) {
+                return;
+            }
+
+            var _formatter = column.formatter;
+            column.formatter = function (value, row, index) {
+                var result = _formatter ? _formatter(value, row, index) : value;
+
+                return ['<a href="javascript:void(0)"',
+                    ' data-name="' + column.field + '"',
+                    ' data-pk="' + row[that.options.idField] + '"',
+                    ' data-value="' + result + '"',
+                    '>' + '</a>'
+                ].join('');
+            };
+        });
+    };
+
+    BootstrapTable.prototype.initBody = function () {
+        var that = this;
+        _initBody.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (!this.options.editable) {
+            return;
+        }
+
+        $.each(this.options.columns, function (i, column) {
+            if (!column.editable) {
+                return;
+            }
+
+            that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable)
+                .off('save').on('save', function (e, params) {
+                    var data = that.getData(),
+                        index = $(this).parents('tr[data-index]').data('index'),
+                        row = data[index],
+                        oldValue = row[column.field];
+
+                    row[column.field] = params.submitValue;
+                    that.trigger('editable-save', column.field, row, oldValue, $(this));
+                });
+        });
+        this.trigger('editable-init');
+    };
+
+}(jQuery);

+ 84 - 0
docs/dist/extensions/export/bootstrap-table-export.js

@@ -0,0 +1,84 @@
+/**
+ * @author zhixin wen <wenzhixin2010@gmail.com>
+ * extensions: https://github.com/kayalshri/tableExport.jquery.plugin
+ */
+
+(function ($) {
+    'use strict';
+
+    var TYPE_NAME = {
+        json: 'JSON',
+        xml: 'XML',
+        png: 'PNG',
+        csv: 'CSV',
+        txt: 'TXT',
+        sql: 'SQL',
+        doc: 'MS-Word',
+        excel: 'Ms-Excel',
+        powerpoint: 'Ms-Powerpoint',
+        pdf: 'PDF'
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        showExport: false,
+        // 'json', 'xml', 'png', 'csv', 'txt', 'sql', 'doc', 'excel', 'powerpoint', 'pdf'
+        exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
+        exportOptions: {}
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _initToolbar = BootstrapTable.prototype.initToolbar;
+
+    BootstrapTable.prototype.initToolbar = function () {
+        this.showToolbar = true;
+
+        _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.showExport) {
+            var that = this,
+                $btnGroup = this.$toolbar.find('>.btn-group'),
+                $export = $btnGroup.find('div.export');
+
+            if (!$export.length) {
+                $export = $([
+                    '<div class="export btn-group">',
+                        '<button class="btn btn-default dropdown-toggle" ' +
+                            'data-toggle="dropdown" type="button">',
+                            '<i class="glyphicon glyphicon-export icon-share"></i> ',
+                            '<span class="caret"></span>',
+                        '</button>',
+                        '<ul class="dropdown-menu" role="menu">',
+                        '</ul>',
+                    '</div>'].join('')).appendTo($btnGroup);
+
+                var $menu = $export.find('.dropdown-menu'),
+                    exportTypes = this.options.exportTypes;
+
+                if (typeof this.options.exportTypes === 'string') {
+                    var types = this.options.exportTypes.slice(1, -1).replace(/ /g, '').split(',');
+
+                    exportTypes = [];
+                    $.each(types, function (i, value) {
+                        exportTypes.push(value.slice(1, -1));
+                    });
+                }
+                $.each(exportTypes, function (i, type) {
+                    if (TYPE_NAME.hasOwnProperty(type)) {
+                        $menu.append(['<li data-type="' + type + '">',
+                                '<a href="javascript:void(0)">',
+                                    TYPE_NAME[type],
+                                '</a>',
+                            '</li>'].join(''));
+                    }
+                });
+
+                $menu.find('li').click(function () {
+                    that.$el.tableExport($.extend({}, that.options.exportOptions, {
+                        type: $(this).data('type'),
+                        escape: false
+                    }));
+                });
+            }
+        }
+    };
+})(jQuery);

+ 67 - 0
docs/dist/extensions/filter/bootstrap-table-filter.js

@@ -0,0 +1,67 @@
+/**
+ * @author zhixin wen <wenzhixin2010@gmail.com>
+ * extensions: https://github.com/lukaskral/bootstrap-table-filter
+ */
+
+!function($) {
+
+    'use strict';
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        showFilter: false
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _init = BootstrapTable.prototype.init,
+        _initSearch = BootstrapTable.prototype.initSearch;
+
+    BootstrapTable.prototype.init = function () {
+        _init.apply(this, Array.prototype.slice.apply(arguments));
+
+        var that = this;
+        this.$el.on('load-success.bs.table', function () {
+            if (that.options.showFilter) {
+                $(that.options.toolbar).bootstrapTableFilter({
+                    connectTo: that.$el
+                });
+            }
+        });
+    };
+
+    BootstrapTable.prototype.initSearch = function () {
+        _initSearch.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.sidePagination !== 'server') {
+            if (typeof this.searchCallback === 'function') {
+                this.data = $.grep(this.options.data, this.searchCallback);
+            }
+        }
+    };
+
+    BootstrapTable.prototype.getData = function () {
+        return (this.searchText || this.searchCallback) ? this.data : this.options.data;
+    };
+
+    BootstrapTable.prototype.getColumns = function () {
+        return this.options.columns;
+    };
+
+    BootstrapTable.prototype.registerSearchCallback = function (callback) {
+        this.searchCallback = callback;
+    };
+
+    BootstrapTable.prototype.updateSearch = function () {
+        this.options.pageNumber = 1;
+        this.initSearch();
+        this.updatePagination();
+    };
+
+    BootstrapTable.prototype.getServerUrl = function () {
+        return (this.options.sidePagination === 'server') ? this.options.url : false;
+    };
+
+    $.fn.bootstrapTable.methods.push('getColumns',
+        'registerSearchCallback', 'updateSearch',
+        'getServerUrl');
+
+}(jQuery);

+ 102 - 0
docs/dist/extensions/flatJSON/bootstrap-table-flatJSON.js

@@ -0,0 +1,102 @@
+/**
+ * bootstrap-table-flatJSON.js
+ * @version: v1.0.1
+ * @author: Dennis Hernández
+ * @webSite: http://djhvscf.github.io/Blog
+ *
+ * Created by Dennis Hernández on 01/Nov/2014.
+ *
+ * Copyright (c) 2014 Dennis Hernández http://djhvscf.github.io/Blog
+ *
+ * The MIT License (http://www.opensource.org/licenses/mit-license.php)
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+(function ($) {
+    'use strict';
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        flat: false
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _initData = BootstrapTable.prototype.initData;
+
+    BootstrapTable.prototype.initData = function () {
+
+        _initData.apply(this, Array.prototype.slice.apply(arguments));
+
+        //If the flat is true
+        if (this.options.flat) {
+            this.options.data = sd.flatHelper(this.options.data);
+        }
+        if (this.options.sidePagination === 'server') {
+            this.data = this.options.data;
+        }
+    };
+
+    //Main functions
+    var sd = {
+        flat: function (element) {
+            var result = {};
+
+            function recurse(cur, prop) {
+                if (Object(cur) !== cur) {
+                    result[prop] = cur;
+                } else if ($.isArray(cur)) {
+                    for (var i = 0, l = cur.length; i < l; i++) {
+                        recurse(cur[i], prop ? prop + "." + i : "" + i);
+                        if (l == 0) {
+                            result[prop] = [];
+                        }
+                    }
+                } else {
+                    var isEmpty = true;
+                    for (var p in cur) {
+                        isEmpty = false;
+                        recurse(cur[p], prop ? prop + "." + p : p);
+                    }
+                    if (isEmpty) {
+                        result[prop] = {};
+                    }
+                }
+            }
+
+            recurse(element, "");
+            return result;
+        },
+
+        flatHelper: function (data) {
+            var flatArray = [],
+                arrayHelper = [];
+            if (!$.isArray(data)) {
+                arrayHelper.push(data);
+                data = arrayHelper;
+            }
+            $.each(data, function (i, element) {
+                flatArray.push(sd.flat(element));
+            });
+            return flatArray;
+        }
+    };
+})(jQuery);

+ 35 - 0
docs/dist/extensions/mobile/README.md

@@ -0,0 +1,35 @@
+# Table Mobile
+
+Use Plugin: [bootstrap-table-mobile](https://github.com/wenzhixin/bootstrap-table/tree/master/src/extensions/mobile)
+
+## Usage
+
+```html
+<script src="extensions/mobile/bootstrap-table-mobile.js"></script>
+```
+
+## Options
+
+### mobileResponsive
+
+* type: Boolean
+* description: Set true to change the view between card and table view depending on width and height given.
+* default: `false`
+
+### checkOnInit
+
+* type: Boolean
+* description: Set true to check the window size on init.
+* default: `true`
+
+### minWidth
+
+* type: Integer
+* description: Set the minimum width when the table will change the view.
+* default: `562`
+
+### minHeight
+
+* type: Integer
+* description: Set the minimum height when the table will change the view.
+* default: `undefined`

+ 81 - 0
docs/dist/extensions/mobile/bootstrap-table-mobile.js

@@ -0,0 +1,81 @@
+/**
+ * @author: Dennis Hernández
+ * @webSite: http://djhvscf.github.io/Blog
+ * @version: v1.1.0
+ */
+
+!function ($) {
+
+    'use strict';
+
+    var resetView = function (el) {
+        if (el.options.height || el.options.showFooter) {
+            setTimeout(el.resetView(), 1);
+        }
+    };
+
+    var changeView = function (el, width, height) {
+        if (el.options.minHeight) {
+            if (checkValuesLessEqual(width, el.options.minWidth) && checkValuesLessEqual(height, el.options.minHeight)) {
+                checkToggledStatus(false, true, el);
+            } else if (checkValuesGreater(width, el.options.minWidth) && checkValuesGreater(height, el.options.minHeight)) {
+                checkToggledStatus(true, false, el);
+            }
+        } else {
+            if (checkValuesLessEqual(width, el.options.minWidth)) {
+                checkToggledStatus(false, true, el);
+            } else if (checkValuesGreater(width, el.options.minWidth)) {
+                checkToggledStatus(true, false, el);
+            }
+        }
+
+        resetView(el);
+    };
+
+    var checkValuesLessEqual = function (currentValue, targetValue) {
+        return currentValue <= targetValue;
+    };
+
+    var checkValuesGreater = function (currentValue, targetValue) {
+        return currentValue > targetValue;
+    };
+
+    var checkToggledStatus = function (targetToggledStatus, newToggledStatus, el) {
+        if (el.options.toggled === targetToggledStatus) {
+            el.toggleView();
+            el.options.toggled = newToggledStatus;
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        mobileResponsive: false,
+        minWidth: 562,
+        minHeight: undefined,
+        checkOnInit: true,
+        toggled: false
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _init = BootstrapTable.prototype.init;
+
+    BootstrapTable.prototype.init = function () {
+        _init.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (!this.options.mobileResponsive) {
+            return;
+        }
+
+        if (!this.options.minWidth) {
+            return;
+        }
+
+        var that = this;
+        $(window).resize(function () {
+            changeView(that, $(this).width(), $(this).height())
+        });
+
+        if (this.options.checkOnInit) {
+            changeView(this, $(window).width(), $(window).height());
+        }
+    };
+}(jQuery);

+ 78 - 0
docs/dist/extensions/resizable/bootstrap-table-resizable.js

@@ -0,0 +1,78 @@
+/**
+ * @author: Dennis Hernández
+ * @webSite: http://djhvscf.github.io/Blog
+ * @version: v1.0.0
+ */
+
+(function ($) {
+    'use strict';
+
+    var initResizable = function (el) {
+        var that = el;
+
+        //Deletes the plugin to re-create it
+        $(el.$el).colResizable({disable: true});
+
+        //Creates the plugin
+        $(el.$el).colResizable({
+            liveDrag: that.options.liveDrag,
+            fixed: that.options.fixed,
+            headerOnly: that.options.headerOnly,
+            minWidth: that.options.minWidth,
+            hoverCursor: that.options.hoverCursor,
+            dragCursor: that.options.dragCursor,
+            onResize: that.options.onResizableResize,
+            onDrag: that.options.onResizableDrag
+        });
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        resizable: false,
+        liveDrag: false,
+        fixed: true,
+        headerOnly: false,
+        minWidth: 15,
+        hoverCursor: 'e-resize',
+        dragCursor: 'e-resize',
+        onResizableResize: function (e) {
+            return false;
+        },
+        onResizableDrag: function (e) {
+            return false;
+        }
+    });
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _init = BootstrapTable.prototype.init,
+        _toggleColumn = BootstrapTable.prototype.toggleColumn,
+        _toggleView = BootstrapTable.prototype.toggleView;
+
+    BootstrapTable.prototype.init = function () {
+        _init.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.resizable) {
+            initResizable(this);
+        }
+    };
+
+    BootstrapTable.prototype.toggleColumn = function () {
+        _toggleColumn.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.resizable) {
+            initResizable(this);
+        }
+    };
+
+    BootstrapTable.prototype.toggleView = function () {
+        _toggleView.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (this.options.resizable) {
+            if (this.options.cardView) {
+                //Deletes the plugin
+                $(this.$el).colResizable({disable: true});
+                return;
+            }
+            initResizable(this);
+        }
+    };
+})(jQuery);

+ 32 - 0
docs/dist/extensions/sorting/bootstrap-table_natural-sorting.js

@@ -0,0 +1,32 @@
+//JS function to allow natural sorting on bootstrap-table columns
+//just add data-sorter="alphanum" to any th
+//Thanks to Brian Huisman: http://www.greywyvern.com
+
+function alphanum(a, b) {
+  function chunkify(t) {
+    var tz = [], x = 0, y = -1, n = 0, i, j;
+
+    while (i = (j = t.charAt(x++)).charCodeAt(0)) {
+      var m = (i == 46 || (i >=48 && i <= 57));
+      if (m !== n) {
+        tz[++y] = "";
+        n = m;
+      }
+      tz[y] += j;
+    }
+    return tz;
+  }
+
+  var aa = chunkify(a);
+  var bb = chunkify(b);
+
+  for (x = 0; aa[x] && bb[x]; x++) {
+    if (aa[x] !== bb[x]) {
+      var c = Number(aa[x]), d = Number(bb[x]);
+      if (c == aa[x] && d == bb[x]) {
+        return c - d;
+      } else return (aa[x] > bb[x]) ? 1 : -1;
+    }
+  }
+  return aa.length - bb.length;
+}

+ 200 - 0
docs/dist/extensions/toolbar/bootstrap-table-toolbar.js

@@ -0,0 +1,200 @@
+/**
+ * @author aperez <aperez@datadec.es>
+ * Añade los iconos de buscador y buscador avanzado detrás del campo search.
+ */
+
+! function($) {
+
+    'use strict';
+
+    var firstLoad = false;
+    var firstBody = false;
+
+    var sprintf = function(str) {
+        var args = arguments,
+            flag = true,
+            i = 1;
+
+        str = str.replace(/%s/g, function() {
+            var arg = args[i++];
+
+            if (typeof arg === 'undefined') {
+                flag = false;
+                return '';
+            }
+            return arg;
+        });
+        return flag ? str : '';
+    };
+
+
+    var showAvdSearch = function(pColumns, pObjSearch) {
+
+        if (!$("#avdSearchModal").hasClass("modal")) {
+            var vModal = "<div id=\"avdSearchModal\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"mySmallModalLabel\" aria-hidden=\"true\">";
+            vModal += "<div class=\"modal-dialog modal-xs\">";
+            vModal += " <div class=\"modal-content\">";
+            vModal += "  <div class=\"modal-header\">";
+            vModal += "   <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\" >&times;</button>";
+            vModal += "   <h4 class=\"modal-title\">Buscador Avanzado</h4>";
+            vModal += "  </div>";
+            vModal += "  <div class=\"modal-body modal-body-custom\">";
+            vModal += "   <div class=\"container-fluid\" id=\"avdSearchModalContent\" style=\"padding-right: 0px;padding-left: 0px;\" >";
+            vModal += "   </div>";
+            vModal += "  </div>";
+            vModal += "  </div>";
+            vModal += " </div>";
+            vModal += "</div>";
+
+            $("body").append($(vModal));
+            var vFormAvd = createFormAvd(pColumns, pObjSearch);
+            $('#avdSearchModalContent').append(vFormAvd.join(''));
+            //
+
+
+
+            $("#btnSearchAvd").click(function() {
+                var vFormData = $("#" + pObjSearch.idForm).serializeJSON();
+                var vText = $('#' + pObjSearch.idTable).parents('.bootstrap-table').find('.search input').val();
+
+                $.extend(vFormData, {
+                    searchText: vText
+                });
+                var sFunctionData = JSON.stringify(vFormData);
+                BootstrapTable.DEFAULTS.searchText = sFunctionData;
+
+                //BootstrapTable.prototype.onSearch(this,$.Event('keyup'));
+                /*********************
+
+                  * Here, I want to call the method onSearch.
+
+                ***********************/
+
+
+            });
+
+            $("#avdSearchModal").modal();
+        } else {
+            $("#avdSearchModal").modal();
+        }
+
+    };
+
+
+    var createFormAvd = function(pColumns, pObjSearch) {
+        var htmlForm = [];
+        htmlForm.push('<form class="form-horizontal" id="' + pObjSearch.idForm + '" action="' + pObjSearch.actionForm + '" >');
+
+        for (var i in pColumns) {
+            var vObjCol = pColumns[i];
+            if (!vObjCol.checkbox && vObjCol.visible && vObjCol.searchable) {
+                htmlForm.push('<div class="form-group">',
+                    '<label class="col-sm-4 control-label">' + vObjCol.title + '</label>',
+                    '<div class="col-sm-6">',
+                    '<input type = "text" class="form-control input-md" name="' + vObjCol.field + '" placeholder="Email">',
+                    '</div>',
+                    '</div>');
+            }
+        }
+
+        htmlForm.push('<div class="form-group">',
+            '<div class="col-sm-offset-9 col-sm-3">',
+            '<button type="button" id="btnSearchAvd" class="btn btn-default" >Buscar</button>',
+            '</div>',
+            '</div>',
+            '</form>');
+
+        return htmlForm;
+    }
+
+
+
+    $.extend($.fn.bootstrapTable.defaults, {
+        advancedSearch: undefined,
+        idTable: undefined
+    });
+
+    $.extend($.fn.bootstrapTable.defaults.icons, {
+        avdSearch: 'glyphicon-chevron-down'
+    });
+
+    $.extend($.fn.bootstrapTable.locales, {
+        formatAvancedSearch: function() {
+            return 'Buscador Avanzado';
+        }
+    });
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
+
+
+    var BootstrapTable = $.fn.bootstrapTable.Constructor,
+        _initToolbar = BootstrapTable.prototype.initToolbar,        
+        _load = BootstrapTable.prototype.load;
+
+    BootstrapTable.prototype.initToolbar = function() {
+        var that = this,
+            htmlBtns = [],
+            $search,
+            advSearch = {
+                active: false,
+                idTable: '',
+                idForm: '',
+                actionForm: ''
+            };
+
+        _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (typeof this.options.advancedSearch !== 'undefined') {
+            advSearch = this.options.advancedSearch;
+        }
+
+        if (advSearch.active) {
+            htmlBtns.push(sprintf('<div class="btn-group" role="group"><button class="btn btn-default' + (that.options.iconSize === undefined ? '' : ' btn-' + that.options.iconSize) + '" type="button" name="avdSearch" title="%s">',
+                    that.options.formatAvancedSearch()),
+                sprintf('<i class="%s %s"></i>', that.options.iconsPrefix, that.options.icons.avdSearch),
+                '</button></div>');
+
+            // Añadimos el botón al toolbar.
+            that.$toolbar.find('.columns').prepend(htmlBtns.join(''));
+
+            // Creamos el onclick para el booton            
+            that.$toolbar.find('button[name="avdSearch"]')
+                .off('click').on('click', function() {
+                    showAvdSearch(that.options.columns, advSearch);
+                });
+        }
+
+        // Anulamos la búsqueda automática
+        if (that.options.searchTimeOut === -1) {
+            $search = that.$toolbar.find('.search input');
+            $search.off('keyup').on('keyup', function(event) {
+                var text = $.trim($(event.currentTarget).val());
+                // Al pulsar Enter realizamos la búsqueda.
+                if (event.which === 13) {
+                    that.onSearch(event);
+                }
+
+            });
+        }
+
+    };
+
+    BootstrapTable.prototype.load = function(data) {
+
+        _load.apply(this, Array.prototype.slice.apply(arguments));
+
+        if (typeof this.options.idTable === 'undefined') {
+            alert('Error: La propiedad "idTable" de bootstrapTable debe tener el id definido en la tabla.');
+        } else {
+            if (!firstLoad) {
+                var vTam = parseInt($(".bootstrap-table").height());
+                vTam += 10;
+                $("#" + this.options.idTable).bootstrapTable("resetView", {height: vTam});
+                firstLoad = true;
+            }
+        }
+
+    };
+
+
+}(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-ar-SA.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table English translation
+ * Author: Zhixin Wen<wenzhixin2010@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ar-SA'] = {
+        formatLoadingMessage: function () {
+            return 'جاري التحميل, يرجى الإنتظار...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' سجل لكل صفحة';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'الظاهر ' + pageFrom + ' إلى ' + pageTo + ' من ' + totalRows + ' سجل';
+        },
+        formatSearch: function () {
+            return 'بحث';
+        },
+        formatNoMatches: function () {
+            return 'لا توجد نتائج مطابقة للبحث';
+        },
+        formatPaginationSwitch: function () {
+            return 'إخفاء\إظهار ترقيم الصفحات';
+        },
+        formatRefresh: function () {
+            return 'تحديث';
+        },
+        formatToggle: function () {
+            return 'تغيير';
+        },
+        formatColumns: function () {
+            return 'أعمدة';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ar-SA']);
+
+})(jQuery);

+ 44 - 0
docs/dist/locale/bootstrap-table-cs-CZ.js

@@ -0,0 +1,44 @@
+/**
+ * Bootstrap Table Czech translation
+ * Author: Lukas Kral (monarcha@seznam.cz)
+ * Author: Jakub Svestka <svestka1999@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['cs-CZ'] = {
+        formatLoadingMessage: function () {
+            return 'Čekejte, prosím...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' položek na stránku';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Zobrazena ' + pageFrom + '. - ' + pageTo + '. položka z celkových ' + totalRows;
+        },
+        formatSearch: function () {
+            return 'Vyhledávání';
+        },
+        formatNoMatches: function () {
+            return 'Nenalezena žádná vyhovující položka';
+        },
+        formatPaginationSwitch: function () {
+            return 'Skrýt/Zobrazit stránkování';
+        },
+        formatRefresh: function () {
+            return 'Aktualizovat';
+        },
+        formatToggle: function () {
+            return 'Přepni';
+        },
+        formatColumns: function () {
+            return 'Sloupce';
+        },
+        formatAllRows: function () {
+            return 'Vše';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['cs-CZ']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-da-DK.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table danish translation
+ * Author: Your Name Jan Borup Coyle, github@coyle.dk
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['da-DK'] = {
+        formatLoadingMessage: function () {
+            return 'Indlæser, vent venligst...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' poster pr side';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Viser ' + pageFrom + ' til ' + pageTo + ' af ' + totalRows + ' rækker';
+        },
+        formatSearch: function () {
+            return 'Søg';
+        },
+        formatNoMatches: function () {
+            return 'Ingen poster fundet';
+        },
+        formatRefresh: function () {
+            return 'Opdater';
+        },
+        formatToggle: function () {
+            return 'Skift';
+        },
+        formatColumns: function () {
+            return 'Kolonner';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['da-DK']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-de-DE.js

@@ -0,0 +1,37 @@
+/**
+* Bootstrap Table German translation
+* Author: Paul Mohr - Sopamo<p.mohr@sopamo.de>
+*/
+(function ($) {
+  'use strict';
+
+  $.fn.bootstrapTable.locales['de-DE'] = {
+    formatLoadingMessage: function () {
+      return 'Lade, bitte warten...';
+    },
+    formatRecordsPerPage: function (pageNumber) {
+      return pageNumber + ' Einträge pro Seite';
+    },
+    formatShowingRows: function (pageFrom, pageTo, totalRows) {
+      return 'Zeige ' + pageFrom + ' bis ' + pageTo + ' von ' + totalRows + ' Zeile' + ((totalRows > 1) ? "n" : "");
+    },
+    formatSearch: function () {
+      return 'Suchen';
+    },
+    formatNoMatches: function () {
+      return 'Keine passenden Ergebnisse gefunden';
+    },
+    formatRefresh: function () {
+      return 'Neu laden';
+    },
+    formatToggle: function () {
+      return 'Umschalten';
+    },
+    formatColumns: function () {
+      return 'Spalten';
+    }
+  };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['de-DE']);
+
+})(jQuery);

+ 28 - 0
docs/dist/locale/bootstrap-table-el-GR.js

@@ -0,0 +1,28 @@
+/**
+ * Bootstrap Table Greek translation
+ * Author: giannisdallas
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['el-GR'] = {
+        formatLoadingMessage: function () {
+            return 'Φορτώνει, παρακαλώ περιμένετε...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' αποτελέσματα ανά σελίδα';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Εμφανίζονται από την ' + pageFrom + ' ως την ' + pageTo + ' από σύνολο ' + totalRows + ' σειρών';
+        },
+        formatSearch: function () {
+            return 'Αναζητήστε';
+        },
+        formatNoMatches: function () {
+            return 'Δεν βρέθηκαν αποτελέσματα';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['el-GR']);
+
+})(jQuery);

+ 43 - 0
docs/dist/locale/bootstrap-table-en-US.js

@@ -0,0 +1,43 @@
+/**
+ * Bootstrap Table English translation
+ * Author: Zhixin Wen<wenzhixin2010@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['en-US'] = {
+        formatLoadingMessage: function () {
+            return 'Loading, please wait...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' records per page';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Showing ' + pageFrom + ' to ' + pageTo + ' of ' + totalRows + ' rows';
+        },
+        formatSearch: function () {
+            return 'Search';
+        },
+        formatNoMatches: function () {
+            return 'No matching records found';
+        },
+        formatPaginationSwitch: function () {
+            return 'Hide/Show pagination';
+        },
+        formatRefresh: function () {
+            return 'Refresh';
+        },
+        formatToggle: function () {
+            return 'Toggle';
+        },
+        formatColumns: function () {
+            return 'Columns';
+        },
+        formatAllRows: function () {
+            return 'All';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
+
+})(jQuery);

+ 31 - 0
docs/dist/locale/bootstrap-table-es-AR.js

@@ -0,0 +1,31 @@
+/**
+ * Bootstrap Table Spanish (Argentina) translation
+ * Author: Felix Vera (felix.vera@gmail.com)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['es-AR'] = {
+        formatLoadingMessage: function () {
+            return 'Cargando, espere por favor...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Mostrando ' + pageFrom + ' a ' + pageTo + ' de ' + totalRows + ' filas';
+        },
+        formatSearch: function () {
+            return 'Buscar';
+        },
+        formatNoMatches: function () {
+            return 'No se encontraron registros';
+        },
+        formatAllRows: function () {
+            return 'Todo';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-AR']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-es-CR.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Spanish (Costa Rica) translation
+ * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['es-CR'] = {
+        formatLoadingMessage: function () {
+            return 'Cargando, por favor espere...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Mostrando de ' + pageFrom + ' a ' + pageTo + ' registros de ' + totalRows + ' registros en total';
+        },
+        formatSearch: function () {
+            return 'Buscar';
+        },
+        formatNoMatches: function () {
+            return 'No se encontraron registros';
+        },
+        formatRefresh: function () {
+            return 'Refrescar';
+        },
+        formatToggle: function () {
+            return 'Alternar';
+        },
+        formatColumns: function () {
+            return 'Columnas';
+        },
+        formatAllRows: function () {
+            return 'Todo';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CR']);
+
+})(jQuery);

+ 32 - 0
docs/dist/locale/bootstrap-table-es-MX.js

@@ -0,0 +1,32 @@
+/**
+ * Bootstrap Table Spanish (México) translation (Obtenido de traducción de Argentina)
+ * Author: Felix Vera (felix.vera@gmail.com) 
+ * Copiado: Mauricio Vera (mauricioa.vera@gmail.com)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['es-MX'] = {
+        formatLoadingMessage: function () {
+            return 'Cargando, espere por favor...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Mostrando ' + pageFrom + ' a ' + pageTo + ' de ' + totalRows + ' filas';
+        },
+        formatSearch: function () {
+            return 'Buscar';
+        },
+        formatNoMatches: function () {
+            return 'No se encontraron registros';
+        },
+        formatAllRows: function () {
+            return 'Todo';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-MX']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-es-NI.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Spanish (Nicaragua) translation
+ * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['es-NI'] = {
+        formatLoadingMessage: function () {
+            return 'Cargando, por favor espere...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Mostrando de ' + pageFrom + ' a ' + pageTo + ' registros de ' + totalRows + ' registros en total';
+        },
+        formatSearch: function () {
+            return 'Buscar';
+        },
+        formatNoMatches: function () {
+            return 'No se encontraron registros';
+        },
+        formatRefresh: function () {
+            return 'Refrescar';
+        },
+        formatToggle: function () {
+            return 'Alternar';
+        },
+        formatColumns: function () {
+            return 'Columnas';
+        },
+        formatAllRows: function () {
+            return 'Todo';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-NI']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-es-SP.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Spanish (España) translation
+ * Author: Antonio Pérez <anpegar@gmail.com>
+ */
+ (function ($) {
+    'use strict';
+    
+    $.fn.bootstrapTable.locales['es-SP'] = {
+        formatLoadingMessage: function () {
+            return 'Cargando, por favor espera...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por p&#225;gina.';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return pageFrom + ' - ' + pageTo + ' de ' + totalRows + ' registros.';
+        },
+        formatSearch: function () {
+            return 'Buscar';
+        },
+        formatNoMatches: function () {
+            return 'No se han encontrado registros.';
+        },
+        formatRefresh: function () {
+            return 'Actualizar';
+        },
+        formatToggle: function () {
+            return 'Alternar';
+        },
+        formatColumns: function () {
+            return 'Columnas';
+        },
+        formatAllRows: function () {
+            return 'Todo';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-SP']);
+
+})(jQuery);

+ 28 - 0
docs/dist/locale/bootstrap-table-fr-BE.js

@@ -0,0 +1,28 @@
+/**
+ * Bootstrap Table French (Belgium) translation
+ * Author: Julien Bisconti (julien.bisconti@gmail.com)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['fr-BE'] = {
+        formatLoadingMessage: function () {
+            return 'Chargement en cours...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' entrées par page';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Affiche de' + pageFrom + ' à ' + pageTo + ' sur ' + totalRows + ' lignes';
+        },
+        formatSearch: function () {
+            return 'Recherche';
+        },
+        formatNoMatches: function () {
+            return 'Pas de fichiers trouvés';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-BE']);
+
+})(jQuery);

+ 41 - 0
docs/dist/locale/bootstrap-table-fr-FR.js

@@ -0,0 +1,41 @@
+/**
+ * Bootstrap Table French (France) translation
+ * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
+ * Modification: Tidalf (https://github.com/TidalfFR)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['fr-FR'] = {
+        formatLoadingMessage: function () {
+            return 'Chargement en cours, patientez, s´il vous plaît ...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' lignes par page';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Affichage des lignes ' + pageFrom + ' à ' + pageTo + ' sur ' + totalRows + ' lignes au total';
+        },
+        formatSearch: function () {
+            return 'Rechercher';
+        },
+        formatNoMatches: function () {
+            return 'Aucun résultat trouvé';
+        },
+        formatRefresh: function () {
+            return 'Rafraîchir';
+        },
+        formatToggle: function () {
+            return 'Alterner';
+        },
+        formatColumns: function () {
+            return 'Colonnes';
+        },
+        formatAllRows: function () {
+            return 'Tous';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-FR']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-hu-HU.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Hungarian translation
+ * Author: Nagy Gergely <info@nagygergely.eu>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['hu-HU'] = {
+        formatLoadingMessage: function () {
+            return 'Betöltés, kérem várjon...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' rekord per oldal';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Megjelenítve ' + pageFrom + ' - ' + pageTo + ' / ' + totalRows + ' összesen';
+        },
+        formatSearch: function () {
+            return 'Keresés';
+        },
+        formatNoMatches: function () {
+            return 'Nincs találat';
+        },
+        formatRefresh: function () {
+            return 'Frissítés';
+        },
+        formatToggle: function () {
+            return 'Váltás';
+        },
+        formatColumns: function () {
+            return 'Oszlopok';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['hu-HU']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-it-IT.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Italian translation
+ * Author: Davide Renzi<davide.renzi@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['it-IT'] = {
+        formatLoadingMessage: function () {
+            return 'Caricamento in corso...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' records per pagina';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Pagina ' + pageFrom + ' di ' + pageTo + ' (' + totalRows + ' records)';
+        },
+        formatSearch: function () {
+            return 'Cerca';
+        },
+        formatNoMatches: function () {
+            return 'Nessun record trovato';
+        },
+        formatRefresh: function () {
+            return 'Rinfrescare';
+        },
+        formatToggle: function () {
+            return 'Alternare';
+        },
+        formatColumns: function () {
+            return 'Colonne';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['it-IT']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-ja-JP.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Japanese translation
+ * Author: Azamshul Azizy <azamshul@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ja-JP'] = {
+        formatLoadingMessage: function () {
+            return '読み込み中です。少々お待ちください。';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return 'ページ当たり最大' + pageNumber + '件';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return '全' + totalRows + '件から、'+ pageFrom + 'から' + pageTo + '件目まで表示しています';
+        },
+        formatSearch: function () {
+            return '検索';
+        },
+        formatNoMatches: function () {
+            return '該当するレコードが見つかりません';
+        },
+        formatPaginationSwitch: function () {
+            return 'ページ数を表示・非表示';
+        },
+        formatRefresh: function () {
+            return '更新';
+        },
+        formatToggle: function () {
+            return 'トグル';
+        },
+        formatColumns: function () {
+            return '列';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ja-JP']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-ka-GE.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Georgian translation
+ * Author: Levan Lotuashvili <l.lotuashvili@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ka-GE'] = {
+        formatLoadingMessage: function() {
+            return 'იტვირთება, გთხოვთ მოიცადოთ...';
+        },
+        formatRecordsPerPage: function(pageNumber) {
+            return pageNumber + ' ჩანაწერი თითო გვერდზე';
+        },
+        formatShowingRows: function(pageFrom, pageTo, totalRows) {
+            return 'ნაჩვენებია ' + pageFrom + '-დან ' + pageTo + '-მდე ჩანაწერი ჯამური ' + totalRows + '-დან';
+        },
+        formatSearch: function() {
+            return 'ძებნა';
+        },
+        formatNoMatches: function() {
+            return 'მონაცემები არ არის';
+        },
+        formatPaginationSwitch: function() {
+            return 'გვერდების გადამრთველის დამალვა/გამოჩენა';
+        },
+        formatRefresh: function() {
+            return 'განახლება';
+        },
+        formatToggle: function() {
+            return 'ჩართვა/გამორთვა';
+        },
+        formatColumns: function() {
+            return 'სვეტები';
+        }
+    };
+    
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ka-GE']);
+
+})(jQuery);

ファイルの差分が大きいため隠しています
+ 1 - 1
docs/dist/locale/bootstrap-table-ka-GE.min.js


+ 37 - 0
docs/dist/locale/bootstrap-table-ko-KR.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Korean translation
+ * Author: Yi Tae-Hyeong (jsonobject@gmail.com)
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ko-KR'] = {
+        formatLoadingMessage: function () {
+            return '데이터를 불러오는 중입니다...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return '페이지 당 ' + pageNumber + '개 데이터 출력';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return '전체 ' + totalRows + '개 중 ' + pageFrom + '~' + pageTo + '번째 데이터 출력,';
+        },
+        formatSearch: function () {
+            return '검색';
+        },
+        formatNoMatches: function () {
+            return '조회된 데이터가 없습니다.';
+        },
+        formatRefresh: function () {
+            return '새로 고침';
+        },
+        formatToggle: function () {
+            return '전환';
+        },
+        formatColumns: function () {
+            return '컬럼 필터링';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ko-KR']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-ms-MY.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Malay translation
+ * Author: Azamshul Azizy <azamshul@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ms-MY'] = {
+        formatLoadingMessage: function () {
+            return 'Permintaan sedang dimuatkan. Sila tunggu sebentar...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' rekod setiap muka surat';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Sedang memaparkan rekod ' + pageFrom + ' hingga ' + pageTo + ' daripada jumlah ' + totalRows + ' rekod';
+        },
+        formatSearch: function () {
+            return 'Cari';
+        },
+        formatNoMatches: function () {
+            return 'Tiada rekod yang menyamai permintaan';
+        },
+        formatPaginationSwitch: function () {
+            return 'Tunjuk/sembunyi muka surat';
+        },
+        formatRefresh: function () {
+            return 'Muatsemula';
+        },
+        formatToggle: function () {
+            return 'Tukar';
+        },
+        formatColumns: function () {
+            return 'Lajur';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ms-MY']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-nb-NO.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table norwegian translation
+ * Author: Jim Nordbø, jim@nordb.no
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['nb-NO'] = {
+        formatLoadingMessage: function () {
+            return 'Oppdaterer, vennligst vent...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' poster pr side';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Viser ' + pageFrom + ' til ' + pageTo + ' av ' + totalRows + ' rekker';
+        },
+        formatSearch: function () {
+            return 'Søk';
+        },
+        formatNoMatches: function () {
+            return 'Ingen poster funnet';
+        },
+        formatRefresh: function () {
+            return 'Oppdater';
+        },
+        formatToggle: function () {
+            return 'Endre';
+        },
+        formatColumns: function () {
+            return 'Kolonner';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nb-NO']);
+
+})(jQuery);

+ 28 - 0
docs/dist/locale/bootstrap-table-nl-NL.js

@@ -0,0 +1,28 @@
+/**
+ * Bootstrap Table Dutch translation
+ * Author: Your Name <info@a2hankes.nl>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['nl-NL'] = {
+        formatLoadingMessage: function () {
+            return 'Laden, even geduld...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' records per pagina';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Toon ' + pageFrom + ' tot ' + pageTo + ' van ' + totalRows + ' records';
+        },
+        formatSearch: function () {
+            return 'Zoeken';
+        },
+        formatNoMatches: function () {
+            return 'Geen resultaten gevonden';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nl-NL']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-pl-PL.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Polish translation
+ * Author: zergu <michal.zagdan @ gmail com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['pl-PL'] = {
+        formatLoadingMessage: function () {
+            return 'Ładowanie, proszę czekać...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' rekordów na stronę';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Wyświetlanie rekordów od ' + pageFrom + ' do ' + pageTo + ' z ' + totalRows;
+        },
+        formatSearch: function () {
+            return 'Szukaj';
+        },
+        formatNoMatches: function () {
+            return 'Niestety, nic nie znaleziono';
+        },
+        formatRefresh: function () {
+            return 'Odśwież';
+        },
+        formatToggle: function () {
+            return 'Przełącz';
+        },
+        formatColumns: function () {
+            return 'Kolumny';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pl-PL']);
+
+})(jQuery);

+ 41 - 0
docs/dist/locale/bootstrap-table-pt-BR.js

@@ -0,0 +1,41 @@
+/**
+ * Bootstrap Table Brazilian Portuguese Translation
+ * Author: Eduardo Cerqueira<egcerqueira@gmail.com>
+ * Update: João Mello<jmello@hotmail.com.br>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['pt-BR'] = {
+        formatLoadingMessage: function () {
+            return 'Carregando, aguarde...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registros por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Exibindo ' + pageFrom + ' até ' + pageTo + ' de ' + totalRows + ' linhas';
+        },
+        formatSearch: function () { 
+            return 'Pesquisar';
+        },
+        formatRefresh: function () { 
+            return 'Recarregar';
+        },
+        formatToggle: function () { 
+            return 'Alternar';
+        },
+        formatColumns: function () { 
+            return 'Colunas';
+        },
+        formatPaginationSwitch: function () { 
+            return 'Ocultar/Exibir paginação';
+        },
+        formatNoMatches: function () {
+            return 'Nenhum registro encontrado';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-BR']);
+
+})(jQuery);

+ 28 - 0
docs/dist/locale/bootstrap-table-pt-PT.js

@@ -0,0 +1,28 @@
+/**
+ * Bootstrap Table Portuguese Portugal Translation
+ * Author: Burnspirit<burnspirit@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['pt-BR'] = {
+        formatLoadingMessage: function () {
+            return 'A carregar, aguarde...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' registos por página';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'A mostrar ' + pageFrom + ' até ' + pageTo + ' de ' + totalRows + ' linhas';
+        },
+        formatSearch: function () {
+            return 'Pesquisa';
+        },
+        formatNoMatches: function () {
+            return 'Nenhum registo encontrado';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-PT']);
+
+})(jQuery);

ファイルの差分が大きいため隠しています
+ 7 - 0
docs/dist/locale/bootstrap-table-ro-RO.min.js


+ 36 - 0
docs/dist/locale/bootstrap-table-ru-RU.js

@@ -0,0 +1,36 @@
+/**
+ * Bootstrap Table Russian translation
+ * Author: Dunaevsky Maxim <dunmaksim@yandex.ru>
+ */
+(function ($) {
+    'use strict';
+    $.fn.bootstrapTable.locales['ru-RU'] = {
+        formatLoadingMessage: function () {
+            return 'Пожалуйста, подождите, идёт загрузка...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' записей на страницу';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Записи с ' + pageFrom + ' по ' + pageTo + ' из ' + totalRows;
+        },
+        formatSearch: function () {
+            return 'Поиск';
+        },
+        formatNoMatches: function () {
+            return 'Ничего не найдено';
+        },
+        formatRefresh: function () {
+            return 'Обновить';
+        },
+        formatToggle: function () {
+            return 'Переключить';
+        },
+        formatColumns: function () {
+            return 'Колонки';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ru-RU']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-sk-SK.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Slovak translation
+ * Author: Jozef Dúc<jozef.d13@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['sk-SK'] = {
+        formatLoadingMessage: function () {
+            return 'Prosím čakajte ...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' záznamov na stranu';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Zobrazená ' + pageFrom + '. - ' + pageTo + '. položka z celkových ' + totalRows;
+        },
+        formatSearch: function () {
+            return 'Vyhľadávanie';
+        },
+        formatNoMatches: function () {
+            return 'Nenájdená žiadne vyhovujúca položka';
+        },
+        formatRefresh: function () {
+            return 'Obnoviť';
+        },
+        formatToggle: function () {
+            return 'Prepni';
+        },
+        formatColumns: function () {
+            return 'Stĺpce';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sk-SK']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-sv-SE.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Swedish translation
+ * Author: C Bratt <bratt@inix.se>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['sv-SE'] = {
+        formatLoadingMessage: function () {
+            return 'Laddar, vänligen vänta...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' rader per sida';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Visa ' + pageFrom + ' till ' + pageTo + ' av ' + totalRows + ' rader';
+        },
+        formatSearch: function () {
+            return 'Sök';
+        },
+        formatNoMatches: function () {
+            return 'Inga matchande resultat funna.';
+        },
+        formatRefresh: function () {
+            return 'Uppdatera';
+        },
+        formatToggle: function () {
+            return 'Skifta';
+        },
+        formatColumns: function () {
+            return 'kolumn';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sv-SE']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-th-TH.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Thai translation
+ * Author: Monchai S.<monchais@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['th-TH'] = {
+        formatLoadingMessage: function () {
+            return 'กำลังโหลดข้อมูล, กรุณารอสักครู่...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' รายการต่อหน้า';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'รายการที่ ' + pageFrom + ' ถึง ' + pageTo + ' จากทั้งหมด ' + totalRows + ' รายการ';
+        },
+        formatSearch: function () {
+            return 'ค้นหา';
+        },
+        formatNoMatches: function () {
+            return 'ไม่พบรายการที่ค้นหา !';
+        },
+        formatRefresh: function () {
+            return 'รีเฟรส';
+        },
+        formatToggle: function () {
+            return 'สลับมุมมอง';
+        },
+        formatColumns: function () {
+            return 'คอลัมน์';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['th-TH']);
+
+})(jQuery);

+ 38 - 0
docs/dist/locale/bootstrap-table-tr-TR.js

@@ -0,0 +1,38 @@
+/**
+ * Bootstrap Table Turkish translation
+ * Author: Emin Şen
+ * Author: Sercan Cakir <srcnckr@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['tr-TR'] = {
+        formatLoadingMessage: function () {
+            return 'Yükleniyor, lütfen bekleyin...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return 'Sayfa başına ' + pageNumber + ' kayıt.';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return totalRows + ' kayıttan ' + pageFrom + '-' + pageTo + ' arası gösteriliyor.';
+        },
+        formatSearch: function () {
+            return 'Ara';
+        },
+        formatNoMatches: function () {
+            return 'Eşleşen kayıt bulunamadı.';
+        },
+        formatRefresh: function () {
+            return 'Yenile';
+        },
+        formatToggle: function () {
+            return 'Değiştir';
+        },
+        formatColumns: function () {
+            return 'Sütunlar';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['tr-TR']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-uk-UA.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Ukrainian translation
+ * Author: Vitaliy Timchenko <vitaliy.timchenko@gmail.com>
+ */
+ (function ($) {
+    'use strict';
+    
+    $.fn.bootstrapTable.locales['uk-UA'] = {
+        formatLoadingMessage: function () {
+            return 'Завантаження, будь ласка, зачекайте...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' записів на сторінку';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Показано з ' + pageFrom + ' по ' + pageTo + '. Всього: ' + totalRows;
+        },
+        formatSearch: function () {
+            return 'Пошук';
+        },
+        formatNoMatches: function () {
+            return 'Не знайдено жодного запису';
+        },
+        formatRefresh: function () {
+            return 'Оновити';
+        },
+        formatToggle: function () {
+            return 'Змінити';
+        },
+        formatColumns: function () {
+            return 'Стовпці';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uk-UA']);
+
+})(jQuery);

+ 37 - 0
docs/dist/locale/bootstrap-table-ur-PK.js

@@ -0,0 +1,37 @@
+/**
+ * Bootstrap Table Urdu translation
+ * Author: Malik <me@malikrizwan.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['ur-PK'] = {
+        formatLoadingMessage: function () {
+            return 'براۓ مہربانی انتظار کیجئے';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' ریکارڈز فی صفہ ';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'دیکھیں ' + pageFrom + ' سے ' + pageTo + ' کے ' +  totalRows + 'ریکارڈز';
+        },
+        formatSearch: function () {
+            return 'تلاش';
+        },
+        formatNoMatches: function () {
+            return 'کوئی ریکارڈ نہیں ملا';
+        },
+        formatRefresh: function () {
+            return 'تازہ کریں';
+        },
+        formatToggle: function () {
+            return 'تبدیل کریں';
+        },
+        formatColumns: function () {
+            return 'کالم';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ur-PK']);
+
+})(jQuery);

+ 28 - 0
docs/dist/locale/bootstrap-table-vi-VN.js

@@ -0,0 +1,28 @@
+/**
+ * Bootstrap Table Vietnamese translation
+ * Author: Duc N. PHAM <pngduc@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['vi-VN'] = {
+        formatLoadingMessage: function () {
+            return 'Đang tải...';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return pageNumber + ' bản ghi mỗi trang';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return 'Hiển thị từ trang ' + pageFrom + ' đến ' + pageTo + ' của ' + totalRows + ' bảng ghi';
+        },
+        formatSearch: function () {
+            return 'Tìm kiếm';
+        },
+        formatNoMatches: function () {
+            return 'Không có dữ liệu';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['vi-VN']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-zh-CN.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Chinese translation
+ * Author: Zhixin Wen<wenzhixin2010@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['zh-CN'] = {
+        formatLoadingMessage: function () {
+            return '正在努力地加载数据中,请稍候……';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return '每页显示 ' + pageNumber + ' 条记录';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return '显示第 ' + pageFrom + ' 到第 ' + pageTo + ' 条记录,总共 ' + totalRows + ' 条记录';
+        },
+        formatSearch: function () {
+            return '搜索';
+        },
+        formatNoMatches: function () {
+            return '没有找到匹配的记录';
+        },
+        formatPaginationSwitch: function () {
+            return '隐藏/显示分页';
+        },
+        formatRefresh: function () {
+            return '刷新';
+        },
+        formatToggle: function () {
+            return '切换';
+        },
+        formatColumns: function () {
+            return '列';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
+
+})(jQuery);

+ 40 - 0
docs/dist/locale/bootstrap-table-zh-TW.js

@@ -0,0 +1,40 @@
+/**
+ * Bootstrap Table Chinese translation
+ * Author: Zhixin Wen<wenzhixin2010@gmail.com>
+ */
+(function ($) {
+    'use strict';
+
+    $.fn.bootstrapTable.locales['zh-TW'] = {
+        formatLoadingMessage: function () {
+            return '正在努力地載入資料,請稍候……';
+        },
+        formatRecordsPerPage: function (pageNumber) {
+            return '每頁顯示 ' + pageNumber + ' 項記錄';
+        },
+        formatShowingRows: function (pageFrom, pageTo, totalRows) {
+            return '顯示第 ' + pageFrom + ' 到第 ' + pageTo + ' 項記錄,總共 ' + totalRows + ' 項記錄';
+        },
+        formatSearch: function () {
+            return '搜尋';
+        },
+        formatNoMatches: function () {
+            return '沒有找符合的結果';
+        },
+        formatPaginationSwitch: function () {
+            return '隱藏/顯示分頁';
+        },
+        formatRefresh: function () {
+            return '刷新';
+        },
+        formatToggle: function () {
+            return '切換';
+        },
+        formatColumns: function () {
+            return '列';
+        }
+    };
+
+    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-TW']);
+
+})(jQuery);