1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * @author: Dennis Hernández
- * @webSite: http://djhvscf.github.io/Blog
- * @version: v1.3.0
- */
- (function ($) {
- 'use strict';
- var flat = function (element, that) {
- var result = {};
- function recurse(cur, prop) {
- if (Object(cur) !== cur) {
- result[prop] = cur;
- } else if ($.isArray(cur)) {
- for (var i = 0, l = cur.length; i < l; i++) {
- recurse(cur[i], prop ? prop + that.options.flatSeparator + i : "" + i);
- if (l == 0) {
- result[prop] = [];
- }
- }
- } else {
- var isEmpty = true;
- for (var p in cur) {
- isEmpty = false;
- recurse(cur[p], prop ? prop + that.options.flatSeparator + p : p);
- }
- if (isEmpty) {
- result[prop] = {};
- }
- }
- }
- recurse(element, "");
- return result;
- };
- var flatHelper = function (data, that) {
- var flatArray = [];
- $.each(!$.isArray(data) ? [data] : data, function (i, element) {
- flatArray.push(flat(element, that));
- });
- return flatArray;
- };
- $.extend($.fn.bootstrapTable.defaults, {
- flat: false,
- flatSeparator: '.'
- });
- var BootstrapTable = $.fn.bootstrapTable.Constructor,
- _initData = BootstrapTable.prototype.initData;
- BootstrapTable.prototype.initData = function (data, type) {
- if (this.options.flat) {
- data = flatHelper(data ? data : this.options.data, this);
- }
- _initData.apply(this, [data, type]);
- };
- })(jQuery);
|