corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 /**
2 * @author: Dennis Hernández
3 * @webSite: http://djhvscf.github.io/Blog
4 * @version: v1.3.0
5 */
6  
7 (function ($) {
8 'use strict';
9  
10 var flat = function (element, that) {
11 var result = {};
12  
13 function recurse(cur, prop) {
14 if (Object(cur) !== cur) {
15 result[prop] = cur;
16 } else if ($.isArray(cur)) {
17 for (var i = 0, l = cur.length; i < l; i++) {
18 recurse(cur[i], prop ? prop + that.options.flatSeparator + i : "" + i);
19 if (l == 0) {
20 result[prop] = [];
21 }
22 }
23 } else {
24 var isEmpty = true;
25 for (var p in cur) {
26 isEmpty = false;
27 recurse(cur[p], prop ? prop + that.options.flatSeparator + p : p);
28 }
29 if (isEmpty) {
30 result[prop] = {};
31 }
32 }
33 }
34  
35 recurse(element, "");
36 return result;
37 };
38  
39 var flatHelper = function (data, that) {
40 var flatArray = [];
41  
42 $.each(!$.isArray(data) ? [data] : data, function (i, element) {
43 flatArray.push(flat(element, that));
44 });
45 return flatArray;
46 };
47  
48 $.extend($.fn.bootstrapTable.defaults, {
49 flat: false,
50 flatSeparator: '.'
51 });
52  
53 var BootstrapTable = $.fn.bootstrapTable.Constructor,
54 _initData = BootstrapTable.prototype.initData;
55  
56 BootstrapTable.prototype.initData = function (data, type) {
57 if (this.options.flat) {
58 data = flatHelper(data ? data : this.options.data, this);
59 }
60 _initData.apply(this, [data, type]);
61 };
62 })(jQuery);