bootstrap-table-rails 1.11.1.1 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -7
- data/README.md +6 -3
- data/lib/bootstrap-table-rails/version.rb +1 -1
- data/vendor/assets/javascripts/bootstrap-table-locale-all.js +374 -6
- data/vendor/assets/javascripts/bootstrap-table.js +348 -147
- data/vendor/assets/javascripts/extensions/bootstrap-table-accent-neutralise.js +1 -1
- data/vendor/assets/javascripts/extensions/bootstrap-table-angular.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-auto-refresh.js +62 -62
- data/vendor/assets/javascripts/extensions/bootstrap-table-click-edit-row.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-cookie.js +48 -69
- data/vendor/assets/javascripts/extensions/bootstrap-table-copy-rows.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-defer-url.js +32 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-editable.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-export.js +56 -8
- data/vendor/assets/javascripts/extensions/bootstrap-table-filter-control.js +93 -46
- data/vendor/assets/javascripts/extensions/bootstrap-table-filter.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-flat-json.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-group-by-v2.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-group-by.js +2 -2
- data/vendor/assets/javascripts/extensions/bootstrap-table-i18n-enhance.js +3 -2
- data/vendor/assets/javascripts/extensions/bootstrap-table-jumpto.js +50 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-key-events.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-mobile.js +1 -1
- data/vendor/assets/javascripts/extensions/bootstrap-table-multi-toggle.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-search.js +1 -1
- data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-selection-row.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-multiple-sort.js +31 -12
- data/vendor/assets/javascripts/extensions/bootstrap-table-natural-sorting.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-print.js +33 -17
- data/vendor/assets/javascripts/extensions/bootstrap-table-reorder-columns.js +2 -2
- data/vendor/assets/javascripts/extensions/bootstrap-table-reorder-rows.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-resizable.js +2 -1
- data/vendor/assets/javascripts/extensions/bootstrap-table-select2-filter.js +136 -107
- data/vendor/assets/javascripts/extensions/bootstrap-table-sticky-header.js +11 -4
- data/vendor/assets/javascripts/extensions/bootstrap-table-toolbar.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-tree-column.js +0 -0
- data/vendor/assets/javascripts/extensions/bootstrap-table-treegrid.js +95 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-af-ZA.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ar-SA.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ca-ES.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-cs-CZ.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-da-DK.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-de-DE.js +14 -5
- data/vendor/assets/javascripts/locale/bootstrap-table-el-GR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-en-US.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-AR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-CL.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-CR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-ES.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-MX.js +20 -1
- data/vendor/assets/javascripts/locale/bootstrap-table-es-NI.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-es-SP.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-et-EE.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-eu-EU.js +43 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-fa-IR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-fr-BE.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-fr-FR.js +54 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-he-IL.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-hr-HR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-hu-HU.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-id-ID.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-it-IT.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ja-JP.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ka-GE.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ko-KR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ms-MY.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-nb-NO.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-nl-NL.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-pl-PL.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-pt-BR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-pt-PT.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ro-RO.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ru-RU.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-sk-SK.js +12 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-sv-SE.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-th-TH.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-tr-TR.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-uk-UA.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-ur-PK.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-uz-Latn-UZ.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-vi-VN.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-zh-CN.js +0 -0
- data/vendor/assets/javascripts/locale/bootstrap-table-zh-TW.js +0 -0
- data/vendor/assets/stylesheets/bootstrap-table.css +11 -6
- data/vendor/assets/stylesheets/extensions/bootstrap-table-auto-refresh.css +1 -1
- data/vendor/assets/stylesheets/extensions/bootstrap-table-click-edit-row.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-filter-control.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-group-by-v2.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-group-by.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-jumpto.css +8 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-multiple-selection-row.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-reorder-rows.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-sticky-header.css +0 -0
- data/vendor/assets/stylesheets/extensions/bootstrap-table-tree-column.css +0 -0
- metadata +49 -50
- data/vendor/assets/javascripts/locale/README.md +0 -179
- data/vendor/assets/javascripts/locale/bootstrap-table-en-US.js.template +0 -49
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @author: Dennis Hernández
|
3
3
|
* @webSite: http://djhvscf.github.io/Blog
|
4
|
-
* @version: v2.1.
|
4
|
+
* @version: v2.1.2
|
5
5
|
*/
|
6
6
|
|
7
7
|
(function ($) {
|
@@ -40,7 +40,9 @@
|
|
40
40
|
};
|
41
41
|
|
42
42
|
var sortSelectControl = function (selectControl) {
|
43
|
+
selectControl = $(selectControl.get(selectControl.length - 1));
|
43
44
|
var $opts = selectControl.find('option:gt(0)');
|
45
|
+
|
44
46
|
$opts.sort(function (a, b) {
|
45
47
|
a = $(a).text().toLowerCase();
|
46
48
|
b = $(b).text().toLowerCase();
|
@@ -93,7 +95,7 @@
|
|
93
95
|
|
94
96
|
var getCursorPosition = function(el) {
|
95
97
|
if ($.fn.bootstrapTable.utils.isIEBrowser()) {
|
96
|
-
if ($(el).is('input')) {
|
98
|
+
if ($(el).is('input[type=text]')) {
|
97
99
|
var pos = 0;
|
98
100
|
if ('selectionStart' in el) {
|
99
101
|
pos = el.selectionStart;
|
@@ -113,14 +115,8 @@
|
|
113
115
|
}
|
114
116
|
};
|
115
117
|
|
116
|
-
var setCursorPosition = function (el
|
117
|
-
|
118
|
-
if(el.setSelectionRange !== undefined) {
|
119
|
-
el.setSelectionRange(index, index);
|
120
|
-
} else {
|
121
|
-
$(el).val(el.value);
|
122
|
-
}
|
123
|
-
}
|
118
|
+
var setCursorPosition = function (el) {
|
119
|
+
$(el).val(el.value);
|
124
120
|
};
|
125
121
|
|
126
122
|
var copyValues = function (that) {
|
@@ -199,7 +195,7 @@
|
|
199
195
|
that.pageTo;
|
200
196
|
|
201
197
|
$.each(that.header.fields, function (j, field) {
|
202
|
-
var column = that.columns[
|
198
|
+
var column = that.columns[that.fieldsColumnsIndex[field]],
|
203
199
|
selectControl = $('.bootstrap-table-filter-control-' + escapeID(column.field));
|
204
200
|
|
205
201
|
if (isColumnSearchableViaSelect(column) && isFilterDataNotGiven(column) && hasSelectControlElement(selectControl)) {
|
@@ -237,8 +233,7 @@
|
|
237
233
|
var createControls = function (that, header) {
|
238
234
|
var addedFilterControl = false,
|
239
235
|
isVisible,
|
240
|
-
html
|
241
|
-
timeoutId = 0;
|
236
|
+
html;
|
242
237
|
|
243
238
|
$.each(that.columns, function (i, column) {
|
244
239
|
isVisible = 'hidden';
|
@@ -257,7 +252,7 @@
|
|
257
252
|
if (column.searchable && that.options.filterTemplate[nameControl]) {
|
258
253
|
addedFilterControl = true;
|
259
254
|
isVisible = 'visible';
|
260
|
-
html.push(that.options.filterTemplate[nameControl](that, column.field, isVisible, column.filterControlPlaceholder));
|
255
|
+
html.push(that.options.filterTemplate[nameControl](that, column.field, isVisible, column.filterControlPlaceholder ? column.filterControlPlaceholder : "", "filter-control-" + i));
|
261
256
|
}
|
262
257
|
}
|
263
258
|
|
@@ -317,15 +312,31 @@
|
|
317
312
|
|
318
313
|
if (addedFilterControl) {
|
319
314
|
header.off('keyup', 'input').on('keyup', 'input', function (event) {
|
320
|
-
|
321
|
-
|
315
|
+
if (that.options.searchOnEnterKey && event.keyCode !== 13) {
|
316
|
+
return;
|
317
|
+
}
|
318
|
+
|
319
|
+
if ($.inArray(event.keyCode, [37, 38, 39, 40]) > -1) {
|
320
|
+
return;
|
321
|
+
}
|
322
|
+
|
323
|
+
clearTimeout(event.currentTarget.timeoutId || 0);
|
324
|
+
event.currentTarget.timeoutId = setTimeout(function () {
|
322
325
|
that.onColumnSearch(event);
|
323
326
|
}, that.options.searchTimeOut);
|
324
327
|
});
|
325
328
|
|
326
329
|
header.off('change', 'select').on('change', 'select', function (event) {
|
327
|
-
|
328
|
-
|
330
|
+
if (that.options.searchOnEnterKey && event.keyCode !== 13) {
|
331
|
+
return;
|
332
|
+
}
|
333
|
+
|
334
|
+
if ($.inArray(event.keyCode, [37, 38, 39, 40]) > -1) {
|
335
|
+
return;
|
336
|
+
}
|
337
|
+
|
338
|
+
clearTimeout(event.currentTarget.timeoutId || 0);
|
339
|
+
event.currentTarget.timeoutId = setTimeout(function () {
|
329
340
|
that.onColumnSearch(event);
|
330
341
|
}, that.options.searchTimeOut);
|
331
342
|
});
|
@@ -342,8 +353,8 @@
|
|
342
353
|
var newValue = $input.val();
|
343
354
|
|
344
355
|
if (newValue === "") {
|
345
|
-
clearTimeout(timeoutId);
|
346
|
-
timeoutId = setTimeout(function () {
|
356
|
+
clearTimeout(event.currentTarget.timeoutId || 0);
|
357
|
+
event.currentTarget.timeoutId = setTimeout(function () {
|
347
358
|
that.onColumnSearch(event);
|
348
359
|
}, that.options.searchTimeOut);
|
349
360
|
}
|
@@ -355,7 +366,7 @@
|
|
355
366
|
if (column.filterControl !== undefined && column.filterControl.toLowerCase() === 'datepicker') {
|
356
367
|
header.find('.date-filter-control.bootstrap-table-filter-control-' + column.field).datepicker(column.filterDatepickerOptions)
|
357
368
|
.on('changeDate', function (e) {
|
358
|
-
$(sprintf("
|
369
|
+
$(sprintf("#%s", e.currentTarget.id)).val(e.currentTarget.value);
|
359
370
|
//Fired the keyup event
|
360
371
|
$(e.currentTarget).keyup();
|
361
372
|
});
|
@@ -441,11 +452,13 @@
|
|
441
452
|
return sprintf('<input type="text" class="form-control date-filter-control bootstrap-table-filter-control-%s" style="width: 100%; visibility: %s">', field, isVisible);
|
442
453
|
}
|
443
454
|
},
|
455
|
+
disableControlWhenSearch: false,
|
456
|
+
searchOnEnterKey: false,
|
444
457
|
//internal variables
|
445
458
|
valuesFilterControl: []
|
446
459
|
});
|
447
460
|
|
448
|
-
$.extend($.fn.bootstrapTable.
|
461
|
+
$.extend($.fn.bootstrapTable.columnDefaults, {
|
449
462
|
filterControl: undefined,
|
450
463
|
filterData: undefined,
|
451
464
|
filterDatepickerOptions: undefined,
|
@@ -467,8 +480,11 @@
|
|
467
480
|
return 'Clear Filters';
|
468
481
|
}
|
469
482
|
});
|
483
|
+
|
470
484
|
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
|
471
485
|
|
486
|
+
$.fn.bootstrapTable.methods.push('triggerSearch');
|
487
|
+
|
472
488
|
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
473
489
|
_init = BootstrapTable.prototype.init,
|
474
490
|
_initToolbar = BootstrapTable.prototype.initToolbar,
|
@@ -509,13 +525,17 @@
|
|
509
525
|
}
|
510
526
|
}).on('column-switch.bs.table', function() {
|
511
527
|
setValues(that);
|
528
|
+
}).on('load-success.bs.table', function() {
|
529
|
+
that.EnableControls(true);
|
530
|
+
}).on('load-error.bs.table', function() {
|
531
|
+
that.EnableControls(true);
|
512
532
|
});
|
513
533
|
}
|
514
534
|
_init.apply(this, Array.prototype.slice.apply(arguments));
|
515
535
|
};
|
516
536
|
|
517
537
|
BootstrapTable.prototype.initToolbar = function () {
|
518
|
-
this.showToolbar = this.options.filterControl && this.options.filterShowClear;
|
538
|
+
this.showToolbar = this.showToolbar || this.options.filterControl && this.options.filterShowClear;
|
519
539
|
|
520
540
|
_initToolbar.apply(this, Array.prototype.slice.apply(arguments));
|
521
541
|
|
@@ -525,7 +545,7 @@
|
|
525
545
|
|
526
546
|
if (!$btnClear.length) {
|
527
547
|
$btnClear = $([
|
528
|
-
'<button class="btn btn
|
548
|
+
sprintf('<button class="btn btn-%s filter-show-clear" ', this.options.buttonsClass),
|
529
549
|
sprintf('type="button" title="%s">', this.options.formatClearFilters()),
|
530
550
|
sprintf('<i class="%s %s"></i> ', this.options.iconsPrefix, this.options.icons.clear),
|
531
551
|
'</button>'
|
@@ -559,12 +579,12 @@
|
|
559
579
|
}
|
560
580
|
|
561
581
|
var that = this;
|
562
|
-
var fp = $.isEmptyObject(
|
582
|
+
var fp = $.isEmptyObject(that.filterColumnsPartial) ? null : that.filterColumnsPartial;
|
563
583
|
|
564
584
|
//Check partial column filter
|
565
|
-
|
585
|
+
that.data = fp ? $.grep(that.data, function (item, i) {
|
566
586
|
for (var key in fp) {
|
567
|
-
var thisColumn = that.columns[
|
587
|
+
var thisColumn = that.columns[that.fieldsColumnsIndex[key]];
|
568
588
|
var fval = fp[key].toLowerCase();
|
569
589
|
var value = item[key];
|
570
590
|
|
@@ -575,28 +595,27 @@
|
|
575
595
|
[value, item, i], value);
|
576
596
|
}
|
577
597
|
|
578
|
-
if
|
579
|
-
if
|
580
|
-
(
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
(value + '').toLowerCase().indexOf(fval) !== -1)) {
|
594
|
-
return false;
|
598
|
+
if($.inArray(key, that.header.fields) !== -1 ) {
|
599
|
+
if(typeof value === 'string' || typeof value === 'number') {
|
600
|
+
if (thisColumn.filterStrictSearch) {
|
601
|
+
if(value.toString().toLowerCase() === fval.toString().toLowerCase()) {
|
602
|
+
return true;
|
603
|
+
}
|
604
|
+
} else if (thisColumn.filterStartsWithSearch) {
|
605
|
+
if((value + '').toLowerCase().indexOf(fval) === 0) {
|
606
|
+
return true;
|
607
|
+
}
|
608
|
+
} else {
|
609
|
+
if((value + '').toLowerCase().indexOf(fval) !== -1) {
|
610
|
+
return true;
|
611
|
+
}
|
612
|
+
}
|
595
613
|
}
|
596
614
|
}
|
597
615
|
}
|
598
|
-
|
599
|
-
|
616
|
+
|
617
|
+
return false;
|
618
|
+
}) : that.data;
|
600
619
|
};
|
601
620
|
|
602
621
|
BootstrapTable.prototype.initColumnSearch = function(filterColumnsDefaults) {
|
@@ -638,6 +657,7 @@
|
|
638
657
|
this.searchText += "randomText";
|
639
658
|
|
640
659
|
this.options.pageNumber = 1;
|
660
|
+
this.EnableControls(false);
|
641
661
|
this.onSearch(event);
|
642
662
|
this.trigger('column-search', $field, text);
|
643
663
|
};
|
@@ -694,4 +714,31 @@
|
|
694
714
|
}, that.options.searchTimeOut);
|
695
715
|
}
|
696
716
|
};
|
717
|
+
|
718
|
+
BootstrapTable.prototype.triggerSearch = function () {
|
719
|
+
var header = getCurrentHeader(this),
|
720
|
+
searchControls = getCurrentSearchControls(this);
|
721
|
+
|
722
|
+
header.find(searchControls).each(function () {
|
723
|
+
var el = $(this);
|
724
|
+
if(el.is('select')) {
|
725
|
+
el.change();
|
726
|
+
} else {
|
727
|
+
el.keyup();
|
728
|
+
}
|
729
|
+
});
|
730
|
+
};
|
731
|
+
|
732
|
+
BootstrapTable.prototype.EnableControls = function(enable) {
|
733
|
+
if((this.options.disableControlWhenSearch) && (this.options.sidePagination === 'server')) {
|
734
|
+
var header = getCurrentHeader(this),
|
735
|
+
searchControls = getCurrentSearchControls(this);
|
736
|
+
|
737
|
+
if(!enable) {
|
738
|
+
header.find(searchControls).prop('disabled', 'disabled');
|
739
|
+
} else {
|
740
|
+
header.find(searchControls).removeProp('disabled');
|
741
|
+
}
|
742
|
+
}
|
743
|
+
};
|
697
744
|
})(jQuery);
|
File without changes
|
File without changes
|
File without changes
|
@@ -32,7 +32,7 @@
|
|
32
32
|
if (!row.IsParent) {
|
33
33
|
for (var prop in row) {
|
34
34
|
if (!isNaN(parseFloat(row[prop]))) {
|
35
|
-
if (that.columns[
|
35
|
+
if (that.columns[that.fieldsColumnsIndex[prop]].groupBySumGroup) {
|
36
36
|
if (sumRow[prop] === undefined) {
|
37
37
|
sumRow[prop] = 0;
|
38
38
|
}
|
@@ -176,7 +176,7 @@
|
|
176
176
|
|
177
177
|
originalRowAttr = this.options.rowAttributes;
|
178
178
|
this.options.rowAttributes = rowAttr;
|
179
|
-
this.$el.on('post-body.bs.table', function () {
|
179
|
+
this.$el.off('post-body.bs.table').on('post-body.bs.table', function () {
|
180
180
|
that.$el.treetable({
|
181
181
|
expandable: true,
|
182
182
|
onNodeExpand: function () {
|
@@ -16,7 +16,6 @@
|
|
16
16
|
}
|
17
17
|
});
|
18
18
|
});
|
19
|
-
|
20
19
|
this.initHeader();
|
21
20
|
this.initBody();
|
22
21
|
this.initToolbar();
|
@@ -26,9 +25,11 @@
|
|
26
25
|
this.options.locale = localeId;
|
27
26
|
this.initLocale();
|
28
27
|
this.initPagination();
|
28
|
+
this.initBody();
|
29
|
+
this.initToolbar();
|
29
30
|
};
|
30
31
|
|
31
32
|
$.fn.bootstrapTable.methods.push('changeTitle');
|
32
33
|
$.fn.bootstrapTable.methods.push('changeLocale');
|
33
34
|
|
34
|
-
}(jQuery);
|
35
|
+
}(jQuery);
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/**
|
2
|
+
* @author Jay <jwang@dizsoft.com>
|
3
|
+
*/
|
4
|
+
|
5
|
+
(function ($) {
|
6
|
+
'use strict';
|
7
|
+
var sprintf = $.fn.bootstrapTable.utils.sprintf;
|
8
|
+
|
9
|
+
$.extend($.fn.bootstrapTable.defaults, {
|
10
|
+
showJumpto: false,
|
11
|
+
exportOptions: {}
|
12
|
+
});
|
13
|
+
|
14
|
+
$.extend($.fn.bootstrapTable.locales, {
|
15
|
+
formatJumpto: function () {
|
16
|
+
return 'GO';
|
17
|
+
}
|
18
|
+
});
|
19
|
+
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
|
20
|
+
|
21
|
+
var BootstrapTable = $.fn.bootstrapTable.Constructor,
|
22
|
+
_initPagination = BootstrapTable.prototype.initPagination;
|
23
|
+
|
24
|
+
BootstrapTable.prototype.initPagination = function () {
|
25
|
+
_initPagination.apply(this, Array.prototype.slice.apply(arguments));
|
26
|
+
|
27
|
+
if (this.options.showJumpto) {
|
28
|
+
var that = this,
|
29
|
+
$pageGroup = this.$pagination.find('ul.pagination'),
|
30
|
+
$jumpto = $pageGroup.find('li.jumpto');
|
31
|
+
|
32
|
+
if (!$jumpto.length) {
|
33
|
+
$jumpto = $([
|
34
|
+
'<li class="jumpto">',
|
35
|
+
'<input type="text" class="form-control">',
|
36
|
+
'<button class="btn' +
|
37
|
+
sprintf(' btn-%s', this.options.buttonsClass) +
|
38
|
+
sprintf(' btn-%s', this.options.iconSize) +
|
39
|
+
'" title="' + this.options.formatJumpto() + '" ' +
|
40
|
+
' type="button">'+this.options.formatJumpto(),
|
41
|
+
'</button>',
|
42
|
+
'</li>'].join('')).appendTo($pageGroup);
|
43
|
+
|
44
|
+
$jumpto.find('button').click(function () {
|
45
|
+
that.selectPage(parseInt($jumpto.find('input').val()));
|
46
|
+
});
|
47
|
+
}
|
48
|
+
}
|
49
|
+
};
|
50
|
+
})(jQuery);
|
File without changes
|
@@ -13,7 +13,7 @@
|
|
13
13
|
$.each(that.columns, function (i, column) {
|
14
14
|
if (that.options.columnsHidden.indexOf(column.field) !== -1) {
|
15
15
|
if (column.visible !== checked) {
|
16
|
-
that.toggleColumn(
|
16
|
+
that.toggleColumn(that.fieldsColumnsIndex[column.field], checked, true);
|
17
17
|
}
|
18
18
|
}
|
19
19
|
});
|
File without changes
|
@@ -35,7 +35,7 @@
|
|
35
35
|
for (var key in item) {
|
36
36
|
key = $.isNumeric(key) ? parseInt(key, 10) : key;
|
37
37
|
var value = item[key],
|
38
|
-
column = that.columns[
|
38
|
+
column = that.columns[that.fieldsColumnsIndex[key]],
|
39
39
|
j = $.inArray(key, that.header.fields);
|
40
40
|
|
41
41
|
// Fix #142: search use formated data
|
File without changes
|
@@ -11,16 +11,16 @@
|
|
11
11
|
var isSingleSort = false;
|
12
12
|
|
13
13
|
var showSortModal = function(that) {
|
14
|
-
var _selector = that
|
15
|
-
_id = _selector
|
14
|
+
var _selector = that.sortModalSelector,
|
15
|
+
_id = '#' + _selector;
|
16
16
|
|
17
17
|
if (!$(_id).hasClass("modal")) {
|
18
|
-
var sModal = ' <div class="modal fade" id="' +
|
18
|
+
var sModal = ' <div class="modal fade" id="' + _selector + '" tabindex="-1" role="dialog" aria-labelledby="' + _selector + 'Label" aria-hidden="true">';
|
19
19
|
sModal += ' <div class="modal-dialog">';
|
20
20
|
sModal += ' <div class="modal-content">';
|
21
21
|
sModal += ' <div class="modal-header">';
|
22
22
|
sModal += ' <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>';
|
23
|
-
sModal += ' <h4 class="modal-title" id="' +
|
23
|
+
sModal += ' <h4 class="modal-title" id="' + _selector + 'Label">' + that.options.formatMultipleSort() + '</h4>';
|
24
24
|
sModal += ' </div>';
|
25
25
|
sModal += ' <div class="modal-body">';
|
26
26
|
sModal += ' <div class="bootstrap-table">';
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
$('body').append($(sModal));
|
58
58
|
|
59
|
-
that.$sortModal = $(
|
59
|
+
that.$sortModal = $(_id);
|
60
60
|
var $rows = that.$sortModal.find('tbody > tr');
|
61
61
|
|
62
62
|
that.$sortModal.off('click', '#add').on('click', '#add', function() {
|
@@ -123,16 +123,15 @@
|
|
123
123
|
that.options.sortName = '';
|
124
124
|
|
125
125
|
if (that.options.sidePagination === 'server') {
|
126
|
-
|
126
|
+
var t = that.options.queryParams;
|
127
127
|
that.options.queryParams = function(params) {
|
128
128
|
params.multiSort = that.options.sortPriority;
|
129
|
-
return params;
|
129
|
+
return t(params);
|
130
130
|
};
|
131
|
-
|
131
|
+
isSingleSort=false;
|
132
132
|
that.initServer(that.options.silentSort);
|
133
133
|
return;
|
134
134
|
}
|
135
|
-
|
136
135
|
that.onMultipleSort();
|
137
136
|
|
138
137
|
}
|
@@ -161,8 +160,11 @@
|
|
161
160
|
}
|
162
161
|
};
|
163
162
|
|
163
|
+
$.fn.bootstrapTable.methods.push('multipleSort');
|
164
|
+
|
164
165
|
$.extend($.fn.bootstrapTable.defaults, {
|
165
166
|
showMultiSort: false,
|
167
|
+
showMultiSortButton: true,
|
166
168
|
sortPriority: null,
|
167
169
|
onMultipleSort: function() {
|
168
170
|
return false;
|
@@ -227,18 +229,28 @@
|
|
227
229
|
_initToolbar = BootstrapTable.prototype.initToolbar;
|
228
230
|
|
229
231
|
BootstrapTable.prototype.initToolbar = function() {
|
230
|
-
this.showToolbar =
|
232
|
+
this.showToolbar = this.showToolbar || this.options.showMultiSort;
|
231
233
|
var that = this,
|
232
|
-
|
234
|
+
sortModalSelector = 'sortModal_' + this.$el.attr('id'),
|
235
|
+
sortModalId = '#' + sortModalSelector;
|
233
236
|
this.$sortModal = $(sortModalId);
|
237
|
+
this.sortModalSelector = sortModalSelector;
|
234
238
|
|
235
239
|
_initToolbar.apply(this, Array.prototype.slice.apply(arguments));
|
236
240
|
|
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
|
+
}
|
248
|
+
|
237
249
|
if (this.options.showMultiSort) {
|
238
250
|
var $btnGroup = this.$toolbar.find('>.btn-group').first(),
|
239
251
|
$multiSortBtn = this.$toolbar.find('div.multi-sort');
|
240
252
|
|
241
|
-
if (!$multiSortBtn.length) {
|
253
|
+
if (!$multiSortBtn.length && this.options.showMultiSortButton) {
|
242
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() + '">';
|
243
255
|
$multiSortBtn += ' <i class="' + this.options.iconsPrefix + ' ' + this.options.icons.sort + '"></i>';
|
244
256
|
$multiSortBtn += '</button>';
|
@@ -282,6 +294,13 @@
|
|
282
294
|
}
|
283
295
|
};
|
284
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
|
+
};
|
303
|
+
|
285
304
|
BootstrapTable.prototype.onMultipleSort = function() {
|
286
305
|
var that = this;
|
287
306
|
|