vendor/assets/javascripts/bootstrap-table/bootstrap-table.js in bootstrap-table-rails-1.17.0 vs vendor/assets/javascripts/bootstrap-table/bootstrap-table.js in bootstrap-table-rails-1.17.1
- old
+ new
@@ -2849,11 +2849,11 @@
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
- var VERSION = '1.17.0';
+ var VERSION = '1.17.1';
var bootstrapVersion = 4;
try {
var rawVersion = $.fn.dropdown.Constructor.VERSION; // Only try to parse VERSION if it is defined.
// It is undefined in older versions of Bootstrap (tested with 3.1.1).
@@ -3102,10 +3102,11 @@
showHeader: true,
showFooter: false,
footerStyle: function footerStyle(column) {
return {};
},
+ searchAccentNeutralise: false,
showColumns: false,
showColumnsToggleAll: false,
showColumnsSearch: false,
minimumCountColumns: 1,
showPaginationSwitch: false,
@@ -3146,11 +3147,10 @@
buttonsAlign: 'right',
buttonsOrder: ['paginationSwitch', 'refresh', 'toggle', 'fullscreen', 'columns'],
buttonsPrefix: CONSTANTS.classes.buttonsPrefix,
buttonsClass: CONSTANTS.classes.buttons,
icons: CONSTANTS.icons,
- html: CONSTANTS.html,
iconSize: undefined,
iconsPrefix: CONSTANTS.iconsPrefix,
// glyphicon or fa(font-awesome)
loadingFontSize: 'auto',
loadingTemplate: function loadingTemplate(loadingMessage) {
@@ -3403,10 +3403,74 @@
keys: function keys(it) {
return objectKeys(toObject(it));
}
});
+ var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
+
+
+
+
+
+
+ var nativeEndsWith = ''.endsWith;
+ var min$5 = Math.min;
+
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('endsWith');
+ // https://github.com/zloirock/core-js/pull/702
+ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
+ var descriptor = getOwnPropertyDescriptor$3(String.prototype, 'endsWith');
+ return descriptor && !descriptor.writable;
+ }();
+
+ // `String.prototype.endsWith` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.endswith
+ _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
+ endsWith: function endsWith(searchString /* , endPosition = @length */) {
+ var that = String(requireObjectCoercible(this));
+ notARegexp(searchString);
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
+ var len = toLength(that.length);
+ var end = endPosition === undefined ? len : min$5(toLength(endPosition), len);
+ var search = String(searchString);
+ return nativeEndsWith
+ ? nativeEndsWith.call(that, search, end)
+ : that.slice(end - search.length, end) === search;
+ }
+ });
+
+ var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f;
+
+
+
+
+
+
+ var nativeStartsWith = ''.startsWith;
+ var min$6 = Math.min;
+
+ var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('startsWith');
+ // https://github.com/zloirock/core-js/pull/702
+ var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
+ var descriptor = getOwnPropertyDescriptor$4(String.prototype, 'startsWith');
+ return descriptor && !descriptor.writable;
+ }();
+
+ // `String.prototype.startsWith` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.startswith
+ _export({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
+ startsWith: function startsWith(searchString /* , position = 0 */) {
+ var that = String(requireObjectCoercible(this));
+ notARegexp(searchString);
+ var index = toLength(min$6(arguments.length > 1 ? arguments[1] : undefined, that.length));
+ var search = String(searchString);
+ return nativeStartsWith
+ ? nativeStartsWith.call(that, search, index)
+ : that.slice(index, index + search.length) === search;
+ }
+ });
+
var Utils = {
// it only does '%s', and return '' when arguments are undefined
sprintf: function sprintf(_str) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
@@ -3547,10 +3611,13 @@
}
}
}
}
},
+ normalizeAccent: function normalizeAccent(string) {
+ return string.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
+ },
updateFieldGroup: function updateFieldGroup(columns) {
var _ref;
var allColumns = (_ref = []).concat.apply(_ref, _toConsumableArray(columns));
@@ -3902,10 +3969,44 @@
id = id || "".concat(+new Date()).concat(~~(Math.random() * 1000000));
return "resize.bootstrap-table-".concat(id);
},
hasDetailViewIcon: function hasDetailViewIcon(options) {
return options.detailView && options.detailViewIcon && !options.cardView;
+ },
+ checkAutoMergeCells: function checkAutoMergeCells(data) {
+ var _iteratorNormalCompletion9 = true;
+ var _didIteratorError9 = false;
+ var _iteratorError9 = undefined;
+
+ try {
+ for (var _iterator9 = data[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
+ var row = _step9.value;
+
+ for (var _i4 = 0, _Object$keys = Object.keys(row); _i4 < _Object$keys.length; _i4++) {
+ var key = _Object$keys[_i4];
+
+ if (key.startsWith('_') && (key.endsWith('_rowspan') || key.endsWith('_colspan'))) {
+ return true;
+ }
+ }
+ }
+ } catch (err) {
+ _didIteratorError9 = true;
+ _iteratorError9 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion9 && _iterator9.return != null) {
+ _iterator9.return();
+ }
+ } finally {
+ if (_didIteratorError9) {
+ throw _iteratorError9;
+ }
+ }
+ }
+
+ return false;
}
};
var BLOCK_ROWS = 50;
var CLUSTER_BLOCKS = 4;
@@ -4428,16 +4529,20 @@
if (type === 'append') {
this.options.data = this.options.data.concat(data);
} else if (type === 'prepend') {
this.options.data = [].concat(data).concat(this.options.data);
} else {
- this.options.data = data || this.options.data;
+ data = data || this.options.data;
+ this.options.data = Array.isArray(data) ? data : data[this.options.dataField];
}
- this.data = this.options.data;
- this.unsortedData = _toConsumableArray(this.data);
+ this.data = _toConsumableArray(this.options.data);
+ if (this.options.sortReset) {
+ this.unsortedData = _toConsumableArray(this.data);
+ }
+
if (this.options.sidePagination === 'server') {
return;
}
this.initSort();
@@ -4493,12 +4598,12 @@
var index = _this3.$header.find("[data-field=\"".concat(_this3.options.sortName, "\"]")).index();
_this3.$el.find("tr td:nth-child(".concat(index + 1, ")")).addClass(_this3.options.sortClass);
}, 250);
}
- } else {
- this.data = this.unsortedData;
+ } else if (this.options.sortReset) {
+ this.data = _toConsumableArray(this.unsortedData);
}
}
}, {
key: "onSort",
value: function onSort(_ref) {
@@ -4582,11 +4687,11 @@
columns: function () {
var html = [];
html.push("<div class=\"keep-open ".concat(_this4.constants.classes.buttonsDropdown, "\" title=\"").concat(opts.formatColumns(), "\">\n <button class=\"").concat(_this4.constants.buttonsClass, " dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\"\n aria-label=\"Columns\" title=\"").concat(opts.formatColumns(), "\">\n ").concat(opts.showButtonIcons ? Utils.sprintf(_this4.constants.html.icon, opts.iconsPrefix, opts.icons.columns) : '', "\n ").concat(opts.showButtonText ? opts.formatColumns() : '', "\n ").concat(_this4.constants.html.dropdownCaret, "\n </button>\n ").concat(_this4.constants.html.toolbarDropdown[0]));
if (opts.showColumnsSearch) {
- html.push(Utils.sprintf(_this4.constants.html.toolbarDropdownItem, Utils.sprintf('<input type="text" class="%s" id="columnsSearch" placeholder="%s" autocomplete="off">', _this4.constants.classes.input, opts.formatSearch())));
+ html.push(Utils.sprintf(_this4.constants.html.toolbarDropdownItem, Utils.sprintf('<input type="text" class="%s" name="columnsSearch" placeholder="%s" autocomplete="off">', _this4.constants.classes.input, opts.formatSearch())));
html.push(_this4.constants.html.toolbarDropdownSeparator);
}
if (opts.showColumnsToggleAll) {
var allFieldsVisible = _this4.getVisibleColumns().length === _this4.columns.filter(function (column) {
@@ -4718,11 +4823,11 @@
_this4._toggleAllColumns($(currentTarget).prop('checked'));
});
if (opts.showColumnsSearch) {
- var $columnsSearch = $keepOpen.find('#columnsSearch');
+ var $columnsSearch = $keepOpen.find('[name="columnsSearch"]');
var $listItems = $keepOpen.find('.dropdown-item-marker');
$columnsSearch.on('keyup paste change', function (_ref4) {
var currentTarget = _ref4.currentTarget;
var $this = $(currentTarget);
var searchValue = $this.val().toLowerCase();
@@ -4887,11 +4992,11 @@
return match;
}
return true;
- }) : this.options.data;
+ }) : _toConsumableArray(this.options.data);
}
var visibleFields = this.getVisibleFields();
this.data = s ? this.data.filter(function (item, i) {
for (var j = 0; j < _this5.header.fields.length; j++) {
@@ -4912,10 +5017,14 @@
value = value[props[_i2]];
}
}
} else {
value = item[key];
+ }
+
+ if (_this5.options.searchAccentNeutralise) {
+ value = Utils.normalizeAccent(value);
} // Fix #142: respect searchFormatter boolean
if (column && column.searchFormatter) {
value = Utils.calculateObjectValue(column, _this5.header.formatters[j], [value, item, i, column.field], value);
@@ -4971,11 +5080,15 @@
}
}
return false;
}) : this.data;
- this.unsortedData = _toConsumableArray(this.data);
+
+ if (this.options.sortReset) {
+ this.unsortedData = _toConsumableArray(this.data);
+ }
+
this.initSort();
}
}
}, {
key: "initPagination",
@@ -5392,11 +5505,11 @@
var rowspan_ = '';
var colspan_ = '';
var title_ = '';
var column = _this7.columns[j];
- if (_this7.fromHtml && typeof value_ === 'undefined') {
+ if ((_this7.fromHtml || _this7.autoMergeCells) && typeof value_ === 'undefined') {
if (!column.checkbox && !column.radio) {
return;
}
}
@@ -5531,9 +5644,10 @@
}
var rows = [];
var trFragments = $(document.createDocumentFragment());
var hasTr = false;
+ this.autoMergeCells = Utils.checkAutoMergeCells(data.slice(this.pageFrom - 1, this.pageTo));
for (var i = this.pageFrom - 1; i < this.pageTo; i++) {
var item = data[i];
var tr = this.initRow(item, i, data, trFragments);
hasTr = hasTr || !!tr;