bootstrap-table-rails 1.11.1.1 → 1.15.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +152 -98
  3. data/lib/bootstrap-table-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +5196 -0
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.esm.js +1809 -0
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-vue.js +1817 -0
  7. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +296 -0
  8. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +6924 -0
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js +1757 -0
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +1485 -0
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.css +3 -0
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +1020 -0
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css +12 -0
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.js +2087 -0
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +1934 -0
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +1042 -0
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +779 -0
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +1451 -0
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +2494 -0
  20. data/vendor/assets/{stylesheets/extensions → javascripts/bootstrap-table/extensions/filter-control}/bootstrap-table-filter-control.css +3 -3
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +2502 -0
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css +27 -0
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js +1378 -0
  24. data/vendor/assets/{stylesheets/extensions → javascripts/bootstrap-table/extensions/group-by}/bootstrap-table-group-by.css +0 -0
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by/bootstrap-table-group-by.js +257 -0
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css +7 -0
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +1478 -0
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +125 -0
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +1243 -0
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +1162 -0
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/multi-column-toggle/bootstrap-table-multi-toggle.js +105 -0
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-search/bootstrap-table-multiple-search.js +85 -0
  33. data/vendor/assets/{stylesheets/extensions → javascripts/bootstrap-table/extensions/multiple-selection-row}/bootstrap-table-multiple-selection-row.css +0 -0
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.js +143 -0
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +1905 -0
  36. data/vendor/assets/javascripts/bootstrap-table/extensions/natural-sorting/bootstrap-table-natural-sorting.js +1265 -0
  37. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css +11 -0
  38. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +971 -0
  39. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +1128 -0
  40. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +1960 -0
  41. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +1015 -0
  42. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css +14 -0
  43. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +774 -0
  44. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +676 -0
  45. data/vendor/assets/javascripts/bootstrap-table/extensions/select2-filter/bootstrap-table-select2-filter.js +341 -0
  46. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css +22 -0
  47. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +1019 -0
  48. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +2297 -0
  49. data/vendor/assets/{stylesheets/extensions → javascripts/bootstrap-table/extensions/tree-column}/bootstrap-table-tree-column.css +0 -0
  50. data/vendor/assets/javascripts/bootstrap-table/extensions/tree-column/bootstrap-table-tree-column.js +142 -0
  51. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +1817 -0
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +721 -0
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +722 -0
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +722 -0
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +722 -0
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +721 -0
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +721 -0
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +721 -0
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +721 -0
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +721 -0
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +722 -0
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +721 -0
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +721 -0
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +723 -0
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +721 -0
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +721 -0
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +721 -0
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +721 -0
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +721 -0
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +721 -0
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +722 -0
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-CH.js +721 -0
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +723 -0
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-LU.js +721 -0
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +721 -0
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +722 -0
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +721 -0
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +721 -0
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +723 -0
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +721 -0
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +721 -0
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +721 -0
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +721 -0
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +721 -0
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-BE.js +721 -0
  86. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +722 -0
  87. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +721 -0
  88. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +723 -0
  89. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +721 -0
  90. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +721 -0
  91. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +721 -0
  92. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +721 -0
  93. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +721 -0
  94. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +721 -0
  95. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +722 -0
  96. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +721 -0
  97. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +721 -0
  98. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +721 -0
  99. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +721 -0
  100. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +721 -0
  101. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +721 -0
  102. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.css +352 -0
  103. data/vendor/assets/javascripts/bootstrap-table/themes/bulma/bootstrap-table-bulma.js +943 -0
  104. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.css +329 -0
  105. data/vendor/assets/javascripts/bootstrap-table/themes/foundation/bootstrap-table-foundation.js +950 -0
  106. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.css +326 -0
  107. data/vendor/assets/javascripts/bootstrap-table/themes/materialize/bootstrap-table-materialize.js +946 -0
  108. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.css +336 -0
  109. data/vendor/assets/javascripts/bootstrap-table/themes/semantic/bootstrap-table-semantic.js +920 -0
  110. metadata +112 -96
  111. data/vendor/assets/images/icon.png +0 -0
  112. data/vendor/assets/javascripts/bootstrap-table-locale-all.js +0 -1698
  113. data/vendor/assets/javascripts/bootstrap-table.js +0 -3094
  114. data/vendor/assets/javascripts/extensions/bootstrap-table-accent-neutralise.js +0 -182
  115. data/vendor/assets/javascripts/extensions/bootstrap-table-angular.js +0 -107
  116. data/vendor/assets/javascripts/extensions/bootstrap-table-auto-refresh.js +0 -84
  117. data/vendor/assets/javascripts/extensions/bootstrap-table-click-edit-row.js +0 -142
  118. data/vendor/assets/javascripts/extensions/bootstrap-table-cookie.js +0 -434
  119. data/vendor/assets/javascripts/extensions/bootstrap-table-copy-rows.js +0 -102
  120. data/vendor/assets/javascripts/extensions/bootstrap-table-editable.js +0 -146
  121. data/vendor/assets/javascripts/extensions/bootstrap-table-export.js +0 -131
  122. data/vendor/assets/javascripts/extensions/bootstrap-table-filter-control.js +0 -697
  123. data/vendor/assets/javascripts/extensions/bootstrap-table-filter.js +0 -67
  124. data/vendor/assets/javascripts/extensions/bootstrap-table-flat-json.js +0 -62
  125. data/vendor/assets/javascripts/extensions/bootstrap-table-group-by-v2.js +0 -226
  126. data/vendor/assets/javascripts/extensions/bootstrap-table-group-by.js +0 -243
  127. data/vendor/assets/javascripts/extensions/bootstrap-table-i18n-enhance.js +0 -34
  128. data/vendor/assets/javascripts/extensions/bootstrap-table-key-events.js +0 -80
  129. data/vendor/assets/javascripts/extensions/bootstrap-table-mobile.js +0 -136
  130. data/vendor/assets/javascripts/extensions/bootstrap-table-multi-toggle.js +0 -88
  131. data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-search.js +0 -71
  132. data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-selection-row.js +0 -127
  133. data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-sort.js +0 -393
  134. data/vendor/assets/javascripts/extensions/bootstrap-table-natural-sorting.js +0 -67
  135. data/vendor/assets/javascripts/extensions/bootstrap-table-print.js +0 -133
  136. data/vendor/assets/javascripts/extensions/bootstrap-table-reorder-columns.js +0 -181
  137. data/vendor/assets/javascripts/extensions/bootstrap-table-reorder-rows.js +0 -118
  138. data/vendor/assets/javascripts/extensions/bootstrap-table-resizable.js +0 -74
  139. data/vendor/assets/javascripts/extensions/bootstrap-table-select2-filter.js +0 -303
  140. data/vendor/assets/javascripts/extensions/bootstrap-table-sticky-header.js +0 -111
  141. data/vendor/assets/javascripts/extensions/bootstrap-table-toolbar.js +0 -211
  142. data/vendor/assets/javascripts/extensions/bootstrap-table-tree-column.js +0 -130
  143. data/vendor/assets/javascripts/locale/README.md +0 -179
  144. data/vendor/assets/javascripts/locale/bootstrap-table-af-ZA.js +0 -40
  145. data/vendor/assets/javascripts/locale/bootstrap-table-ar-SA.js +0 -40
  146. data/vendor/assets/javascripts/locale/bootstrap-table-ca-ES.js +0 -44
  147. data/vendor/assets/javascripts/locale/bootstrap-table-cs-CZ.js +0 -44
  148. data/vendor/assets/javascripts/locale/bootstrap-table-da-DK.js +0 -37
  149. data/vendor/assets/javascripts/locale/bootstrap-table-de-DE.js +0 -43
  150. data/vendor/assets/javascripts/locale/bootstrap-table-el-GR.js +0 -28
  151. data/vendor/assets/javascripts/locale/bootstrap-table-en-US.js +0 -49
  152. data/vendor/assets/javascripts/locale/bootstrap-table-en-US.js.template +0 -49
  153. data/vendor/assets/javascripts/locale/bootstrap-table-es-AR.js +0 -31
  154. data/vendor/assets/javascripts/locale/bootstrap-table-es-CL.js +0 -44
  155. data/vendor/assets/javascripts/locale/bootstrap-table-es-CR.js +0 -40
  156. data/vendor/assets/javascripts/locale/bootstrap-table-es-ES.js +0 -43
  157. data/vendor/assets/javascripts/locale/bootstrap-table-es-MX.js +0 -32
  158. data/vendor/assets/javascripts/locale/bootstrap-table-es-NI.js +0 -40
  159. data/vendor/assets/javascripts/locale/bootstrap-table-es-SP.js +0 -40
  160. data/vendor/assets/javascripts/locale/bootstrap-table-et-EE.js +0 -43
  161. data/vendor/assets/javascripts/locale/bootstrap-table-fa-IR.js +0 -43
  162. data/vendor/assets/javascripts/locale/bootstrap-table-fr-BE.js +0 -28
  163. data/vendor/assets/javascripts/locale/bootstrap-table-fr-FR.js +0 -41
  164. data/vendor/assets/javascripts/locale/bootstrap-table-he-IL.js +0 -43
  165. data/vendor/assets/javascripts/locale/bootstrap-table-hr-HR.js +0 -44
  166. data/vendor/assets/javascripts/locale/bootstrap-table-hu-HU.js +0 -43
  167. data/vendor/assets/javascripts/locale/bootstrap-table-id-ID.js +0 -49
  168. data/vendor/assets/javascripts/locale/bootstrap-table-it-IT.js +0 -52
  169. data/vendor/assets/javascripts/locale/bootstrap-table-ja-JP.js +0 -43
  170. data/vendor/assets/javascripts/locale/bootstrap-table-ka-GE.js +0 -40
  171. data/vendor/assets/javascripts/locale/bootstrap-table-ko-KR.js +0 -37
  172. data/vendor/assets/javascripts/locale/bootstrap-table-ms-MY.js +0 -43
  173. data/vendor/assets/javascripts/locale/bootstrap-table-nb-NO.js +0 -37
  174. data/vendor/assets/javascripts/locale/bootstrap-table-nl-NL.js +0 -52
  175. data/vendor/assets/javascripts/locale/bootstrap-table-pl-PL.js +0 -37
  176. data/vendor/assets/javascripts/locale/bootstrap-table-pt-BR.js +0 -41
  177. data/vendor/assets/javascripts/locale/bootstrap-table-pt-PT.js +0 -43
  178. data/vendor/assets/javascripts/locale/bootstrap-table-ro-RO.js +0 -43
  179. data/vendor/assets/javascripts/locale/bootstrap-table-ru-RU.js +0 -72
  180. data/vendor/assets/javascripts/locale/bootstrap-table-sk-SK.js +0 -37
  181. data/vendor/assets/javascripts/locale/bootstrap-table-sv-SE.js +0 -37
  182. data/vendor/assets/javascripts/locale/bootstrap-table-th-TH.js +0 -37
  183. data/vendor/assets/javascripts/locale/bootstrap-table-tr-TR.js +0 -41
  184. data/vendor/assets/javascripts/locale/bootstrap-table-uk-UA.js +0 -73
  185. data/vendor/assets/javascripts/locale/bootstrap-table-ur-PK.js +0 -37
  186. data/vendor/assets/javascripts/locale/bootstrap-table-uz-Latn-UZ.js +0 -49
  187. data/vendor/assets/javascripts/locale/bootstrap-table-vi-VN.js +0 -28
  188. data/vendor/assets/javascripts/locale/bootstrap-table-zh-CN.js +0 -46
  189. data/vendor/assets/javascripts/locale/bootstrap-table-zh-TW.js +0 -40
  190. data/vendor/assets/stylesheets/bootstrap-table.css +0 -313
  191. data/vendor/assets/stylesheets/extensions/bootstrap-table-auto-refresh.css +0 -3
  192. data/vendor/assets/stylesheets/extensions/bootstrap-table-click-edit-row.css +0 -21
  193. data/vendor/assets/stylesheets/extensions/bootstrap-table-group-by-v2.css +0 -7
  194. data/vendor/assets/stylesheets/extensions/bootstrap-table-reorder-rows.css +0 -14
  195. data/vendor/assets/stylesheets/extensions/bootstrap-table-sticky-header.css +0 -22
@@ -1,393 +0,0 @@
1
- /**
2
- * @author Nadim Basalamah <dimbslmh@gmail.com>
3
- * @version: v1.1.0
4
- * https://github.com/dimbslmh/bootstrap-table/tree/master/src/extensions/multiple-sort/bootstrap-table-multiple-sort.js
5
- * Modification: ErwannNevou <https://github.com/ErwannNevou>
6
- */
7
-
8
- (function($) {
9
- 'use strict';
10
-
11
- var isSingleSort = false;
12
-
13
- var showSortModal = function(that) {
14
- var _selector = that.$sortModal.selector,
15
- _id = _selector.substr(1);
16
-
17
- if (!$(_id).hasClass("modal")) {
18
- var sModal = ' <div class="modal fade" id="' + _id + '" tabindex="-1" role="dialog" aria-labelledby="' + _id + 'Label" aria-hidden="true">';
19
- sModal += ' <div class="modal-dialog">';
20
- sModal += ' <div class="modal-content">';
21
- sModal += ' <div class="modal-header">';
22
- sModal += ' <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
23
- sModal += ' <h4 class="modal-title" id="' + _id + 'Label">' + that.options.formatMultipleSort() + '</h4>';
24
- sModal += ' </div>';
25
- sModal += ' <div class="modal-body">';
26
- sModal += ' <div class="bootstrap-table">';
27
- sModal += ' <div class="fixed-table-toolbar">';
28
- sModal += ' <div class="bars">';
29
- sModal += ' <div id="toolbar">';
30
- sModal += ' <button id="add" type="button" class="btn btn-default"><i class="' + that.options.iconsPrefix + ' ' + that.options.icons.plus + '"></i> ' + that.options.formatAddLevel() + '</button>';
31
- sModal += ' <button id="delete" type="button" class="btn btn-default" disabled><i class="' + that.options.iconsPrefix + ' ' + that.options.icons.minus + '"></i> ' + that.options.formatDeleteLevel() + '</button>';
32
- sModal += ' </div>';
33
- sModal += ' </div>';
34
- sModal += ' </div>';
35
- sModal += ' <div class="fixed-table-container">';
36
- sModal += ' <table id="multi-sort" class="table">';
37
- sModal += ' <thead>';
38
- sModal += ' <tr>';
39
- sModal += ' <th></th>';
40
- sModal += ' <th><div class="th-inner">' + that.options.formatColumn() + '</div></th>';
41
- sModal += ' <th><div class="th-inner">' + that.options.formatOrder() + '</div></th>';
42
- sModal += ' </tr>';
43
- sModal += ' </thead>';
44
- sModal += ' <tbody></tbody>';
45
- sModal += ' </table>';
46
- sModal += ' </div>';
47
- sModal += ' </div>';
48
- sModal += ' </div>';
49
- sModal += ' <div class="modal-footer">';
50
- sModal += ' <button type="button" class="btn btn-default" data-dismiss="modal">' + that.options.formatCancel() + '</button>';
51
- sModal += ' <button type="button" class="btn btn-primary">' + that.options.formatSort() + '</button>';
52
- sModal += ' </div>';
53
- sModal += ' </div>';
54
- sModal += ' </div>';
55
- sModal += ' </div>';
56
-
57
- $('body').append($(sModal));
58
-
59
- that.$sortModal = $(_selector);
60
- var $rows = that.$sortModal.find('tbody > tr');
61
-
62
- that.$sortModal.off('click', '#add').on('click', '#add', function() {
63
- var total = that.$sortModal.find('.multi-sort-name:first option').length,
64
- current = that.$sortModal.find('tbody tr').length;
65
-
66
- if (current < total) {
67
- current++;
68
- that.addLevel();
69
- that.setButtonStates();
70
- }
71
- });
72
-
73
- that.$sortModal.off('click', '#delete').on('click', '#delete', function() {
74
- var total = that.$sortModal.find('.multi-sort-name:first option').length,
75
- current = that.$sortModal.find('tbody tr').length;
76
-
77
- if (current > 1 && current <= total) {
78
- current--;
79
- that.$sortModal.find('tbody tr:last').remove();
80
- that.setButtonStates();
81
- }
82
- });
83
-
84
- that.$sortModal.off('click', '.btn-primary').on('click', '.btn-primary', function() {
85
- var $rows = that.$sortModal.find('tbody > tr'),
86
- $alert = that.$sortModal.find('div.alert'),
87
- fields = [],
88
- results = [];
89
-
90
-
91
- that.options.sortPriority = $.map($rows, function(row) {
92
- var $row = $(row),
93
- name = $row.find('.multi-sort-name').val(),
94
- order = $row.find('.multi-sort-order').val();
95
-
96
- fields.push(name);
97
-
98
- return {
99
- sortName: name,
100
- sortOrder: order
101
- };
102
- });
103
-
104
- var sorted_fields = fields.sort();
105
-
106
- for (var i = 0; i < fields.length - 1; i++) {
107
- if (sorted_fields[i + 1] == sorted_fields[i]) {
108
- results.push(sorted_fields[i]);
109
- }
110
- }
111
-
112
- if (results.length > 0) {
113
- if ($alert.length === 0) {
114
- $alert = '<div class="alert alert-danger" role="alert"><strong>' + that.options.formatDuplicateAlertTitle() + '</strong> ' + that.options.formatDuplicateAlertDescription() + '</div>';
115
- $($alert).insertBefore(that.$sortModal.find('.bars'));
116
- }
117
- } else {
118
- if ($alert.length === 1) {
119
- $($alert).remove();
120
- }
121
-
122
- that.$sortModal.modal('hide');
123
- that.options.sortName = '';
124
-
125
- if (that.options.sidePagination === 'server') {
126
-
127
- that.options.queryParams = function(params) {
128
- params.multiSort = that.options.sortPriority;
129
- return params;
130
- };
131
-
132
- that.initServer(that.options.silentSort);
133
- return;
134
- }
135
-
136
- that.onMultipleSort();
137
-
138
- }
139
- });
140
-
141
- if (that.options.sortPriority === null || that.options.sortPriority.length === 0) {
142
- if (that.options.sortName) {
143
- that.options.sortPriority = [{
144
- sortName: that.options.sortName,
145
- sortOrder: that.options.sortOrder
146
- }];
147
- }
148
- }
149
-
150
- if (that.options.sortPriority !== null && that.options.sortPriority.length > 0) {
151
- if ($rows.length < that.options.sortPriority.length && typeof that.options.sortPriority === 'object') {
152
- for (var i = 0; i < that.options.sortPriority.length; i++) {
153
- that.addLevel(i, that.options.sortPriority[i]);
154
- }
155
- }
156
- } else {
157
- that.addLevel(0);
158
- }
159
-
160
- that.setButtonStates();
161
- }
162
- };
163
-
164
- $.extend($.fn.bootstrapTable.defaults, {
165
- showMultiSort: false,
166
- sortPriority: null,
167
- onMultipleSort: function() {
168
- return false;
169
- }
170
- });
171
-
172
- $.extend($.fn.bootstrapTable.defaults.icons, {
173
- sort: 'glyphicon-sort',
174
- plus: 'glyphicon-plus',
175
- minus: 'glyphicon-minus'
176
- });
177
-
178
- $.extend($.fn.bootstrapTable.Constructor.EVENTS, {
179
- 'multiple-sort.bs.table': 'onMultipleSort'
180
- });
181
-
182
- $.extend($.fn.bootstrapTable.locales, {
183
- formatMultipleSort: function() {
184
- return 'Multiple Sort';
185
- },
186
- formatAddLevel: function() {
187
- return 'Add Level';
188
- },
189
- formatDeleteLevel: function() {
190
- return 'Delete Level';
191
- },
192
- formatColumn: function() {
193
- return 'Column';
194
- },
195
- formatOrder: function() {
196
- return 'Order';
197
- },
198
- formatSortBy: function() {
199
- return 'Sort by';
200
- },
201
- formatThenBy: function() {
202
- return 'Then by';
203
- },
204
- formatSort: function() {
205
- return 'Sort';
206
- },
207
- formatCancel: function() {
208
- return 'Cancel';
209
- },
210
- formatDuplicateAlertTitle: function() {
211
- return 'Duplicate(s) detected!';
212
- },
213
- formatDuplicateAlertDescription: function() {
214
- return 'Please remove or change any duplicate column.';
215
- },
216
- formatSortOrders: function() {
217
- return {
218
- asc: 'Ascending',
219
- desc: 'Descending'
220
- };
221
- }
222
- });
223
-
224
- $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
225
-
226
- var BootstrapTable = $.fn.bootstrapTable.Constructor,
227
- _initToolbar = BootstrapTable.prototype.initToolbar;
228
-
229
- BootstrapTable.prototype.initToolbar = function() {
230
- this.showToolbar = true;
231
- var that = this,
232
- sortModalId = '#sortModal_' + this.$el.attr('id');
233
- this.$sortModal = $(sortModalId);
234
-
235
- _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
236
-
237
- if (this.options.showMultiSort) {
238
- var $btnGroup = this.$toolbar.find('>.btn-group').first(),
239
- $multiSortBtn = this.$toolbar.find('div.multi-sort');
240
-
241
- if (!$multiSortBtn.length) {
242
- $multiSortBtn = ' <button class="multi-sort btn btn-default' + (this.options.iconSize === undefined ? '' : ' btn-' + this.options.iconSize) + '" type="button" data-toggle="modal" data-target="' + sortModalId + '" title="' + this.options.formatMultipleSort() + '">';
243
- $multiSortBtn += ' <i class="' + this.options.iconsPrefix + ' ' + this.options.icons.sort + '"></i>';
244
- $multiSortBtn += '</button>';
245
-
246
- $btnGroup.append($multiSortBtn);
247
-
248
- showSortModal(that);
249
- }
250
-
251
- this.$el.on('sort.bs.table', function() {
252
- isSingleSort = true;
253
- });
254
-
255
- this.$el.on('multiple-sort.bs.table', function() {
256
- isSingleSort = false;
257
- });
258
-
259
- this.$el.on('load-success.bs.table', function() {
260
- if (!isSingleSort && that.options.sortPriority !== null && typeof that.options.sortPriority === 'object' && that.options.sidePagination !== 'server') {
261
- that.onMultipleSort();
262
- }
263
- });
264
-
265
- this.$el.on('column-switch.bs.table', function(field, checked) {
266
- for (var i = 0; i < that.options.sortPriority.length; i++) {
267
- if (that.options.sortPriority[i].sortName === checked) {
268
- that.options.sortPriority.splice(i, 1);
269
- }
270
- }
271
-
272
- that.assignSortableArrows();
273
- that.$sortModal.remove();
274
- showSortModal(that);
275
- });
276
-
277
- this.$el.on('reset-view.bs.table', function() {
278
- if (!isSingleSort && that.options.sortPriority !== null && typeof that.options.sortPriority === 'object') {
279
- that.assignSortableArrows();
280
- }
281
- });
282
- }
283
- };
284
-
285
- BootstrapTable.prototype.onMultipleSort = function() {
286
- var that = this;
287
-
288
- var cmp = function(x, y) {
289
- return x > y ? 1 : x < y ? -1 : 0;
290
- };
291
-
292
- var arrayCmp = function(a, b) {
293
- var arr1 = [],
294
- arr2 = [];
295
-
296
- for (var i = 0; i < that.options.sortPriority.length; i++) {
297
- var order = that.options.sortPriority[i].sortOrder === 'desc' ? -1 : 1,
298
- aa = a[that.options.sortPriority[i].sortName],
299
- bb = b[that.options.sortPriority[i].sortName];
300
-
301
- if (aa === undefined || aa === null) {
302
- aa = '';
303
- }
304
- if (bb === undefined || bb === null) {
305
- bb = '';
306
- }
307
- if ($.isNumeric(aa) && $.isNumeric(bb)) {
308
- aa = parseFloat(aa);
309
- bb = parseFloat(bb);
310
- }
311
- if (typeof aa !== 'string') {
312
- aa = aa.toString();
313
- }
314
-
315
- arr1.push(
316
- order * cmp(aa, bb));
317
- arr2.push(
318
- order * cmp(bb, aa));
319
- }
320
-
321
- return cmp(arr1, arr2);
322
- };
323
-
324
- this.data.sort(function(a, b) {
325
- return arrayCmp(a, b);
326
- });
327
-
328
- this.initBody();
329
- this.assignSortableArrows();
330
- this.trigger('multiple-sort');
331
- };
332
-
333
- BootstrapTable.prototype.addLevel = function(index, sortPriority) {
334
- var text = index === 0 ? this.options.formatSortBy() : this.options.formatThenBy();
335
-
336
- this.$sortModal.find('tbody')
337
- .append($('<tr>')
338
- .append($('<td>').text(text))
339
- .append($('<td>').append($('<select class="form-control multi-sort-name">')))
340
- .append($('<td>').append($('<select class="form-control multi-sort-order">')))
341
- );
342
-
343
- var $multiSortName = this.$sortModal.find('.multi-sort-name').last(),
344
- $multiSortOrder = this.$sortModal.find('.multi-sort-order').last();
345
-
346
- $.each(this.columns, function(i, column) {
347
- if (column.sortable === false || column.visible === false) {
348
- return true;
349
- }
350
- $multiSortName.append('<option value="' + column.field + '">' + column.title + '</option>');
351
- });
352
-
353
- $.each(this.options.formatSortOrders(), function(value, order) {
354
- $multiSortOrder.append('<option value="' + value + '">' + order + '</option>');
355
- });
356
-
357
- if (sortPriority !== undefined) {
358
- $multiSortName.find('option[value="' + sortPriority.sortName + '"]').attr("selected", true);
359
- $multiSortOrder.find('option[value="' + sortPriority.sortOrder + '"]').attr("selected", true);
360
- }
361
- };
362
-
363
- BootstrapTable.prototype.assignSortableArrows = function() {
364
- var that = this,
365
- headers = that.$header.find('th');
366
-
367
- for (var i = 0; i < headers.length; i++) {
368
- for (var c = 0; c < that.options.sortPriority.length; c++) {
369
- if ($(headers[i]).data('field') === that.options.sortPriority[c].sortName) {
370
- $(headers[i]).find('.sortable').removeClass('desc asc').addClass(that.options.sortPriority[c].sortOrder);
371
- }
372
- }
373
- }
374
- };
375
-
376
- BootstrapTable.prototype.setButtonStates = function() {
377
- var total = this.$sortModal.find('.multi-sort-name:first option').length,
378
- current = this.$sortModal.find('tbody tr').length;
379
-
380
- if (current == total) {
381
- this.$sortModal.find('#add').attr('disabled', 'disabled');
382
- }
383
- if (current > 1) {
384
- this.$sortModal.find('#delete').removeAttr('disabled');
385
- }
386
- if (current < total) {
387
- this.$sortModal.find('#add').removeAttr('disabled');
388
- }
389
- if (current == 1) {
390
- this.$sortModal.find('#delete').attr('disabled', 'disabled');
391
- }
392
- };
393
- })(jQuery);
@@ -1,67 +0,0 @@
1
- /**
2
- * @author: Brian Huisman
3
- * @webSite: http://www.greywyvern.com
4
- * @version: v1.0.0
5
- * JS functions to allow natural sorting on bootstrap-table columns
6
- * add data-sorter="alphanum" or data-sorter="numericOnly" to any th
7
- *
8
- * @update Dennis Hernández <http://djhvscf.github.io/Blog>
9
- * @update Duane May
10
- */
11
-
12
- function alphanum(a, b) {
13
- function chunkify(t) {
14
- var tz = [],
15
- x = 0,
16
- y = -1,
17
- n = 0,
18
- i,
19
- j;
20
-
21
- while (i = (j = t.charAt(x++)).charCodeAt(0)) {
22
- var m = (i === 46 || (i >= 48 && i <= 57));
23
- if (m !== n) {
24
- tz[++y] = "";
25
- n = m;
26
- }
27
- tz[y] += j;
28
- }
29
- return tz;
30
- }
31
-
32
- function stringfy(v) {
33
- if (typeof(v) === "number") {
34
- v = "" + v;
35
- }
36
- if (!v) {
37
- v = "";
38
- }
39
- return v;
40
- }
41
-
42
- var aa = chunkify(stringfy(a));
43
- var bb = chunkify(stringfy(b));
44
-
45
- for (x = 0; aa[x] && bb[x]; x++) {
46
- if (aa[x] !== bb[x]) {
47
- var c = Number(aa[x]),
48
- d = Number(bb[x]);
49
-
50
- if (c == aa[x] && d == bb[x]) {
51
- return c - d;
52
- } else {
53
- return (aa[x] > bb[x]) ? 1 : -1;
54
- }
55
- }
56
- }
57
- return aa.length - bb.length;
58
- }
59
-
60
- function numericOnly(a, b) {
61
- function stripNonNumber(s) {
62
- s = s.replace(new RegExp(/[^0-9]/g), "");
63
- return parseInt(s, 10);
64
- }
65
-
66
- return stripNonNumber(a) - stripNonNumber(b);
67
- }