bootstrap-table-rails 1.11.1.1 → 1.12.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|