bootstrap-table-rails 1.12.2 → 1.13.4

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