Array Object Analyzer
Analyze an array of objects.
by Frank Taylor
HTML
<link rel="stylesheet" href="http://frankmtaylor.com/assets/css/page-elements.css">
<div id="css"></div>
CSS
table {
border: 1px solid red;
}
th {
font-size: 1.1em
}
tr:nth-child(even) {
background: #999
}
JavaScript
window.analyzer = {
init: function (object) {
this.functions.appendTable('cssInfo');
this.functions.setupHeaders(object);
this.functions.addData(object);
this.functions.addCaption("Analysis of the stylesheets");
},
data: {},
helpers: {
wrapper: function (id) {
var wrap;
if (document.getElementById(id)) {
wrap = document.getElementById(id);
} else {
wrap = document.createElement('div');
wrap.setAttribute("id", id)
document.body.appendChild(wrap);
}
return wrap;
},
bootstrapTable: function () {
var self = window.analyzer;
self.data.table = document.createElement('table');
self.data.table.sortable = true;
self.data.tBody = document.createElement('tbody');
analyzer.data.table.appendChild(self.data.tBody);
},
createBodyRows: function (list) {
var self = window.analyzer,
ll = list.length,
i;
for (i = 0; i <= ll; i++) {
var row = self.data.tBody.insertRow(i);
self.helpers.createCells(list[0], row, 'td');
}
},
createCells: function (item, row, el) {
var self = window.analyzer,
i = 0,
itemProp;
for (var itemProp in item) {
if (typeof item[itemProp] !== 'function') {
if (el == 'td') {
var cell = row.insertCell(i);
cell.setAttribute('headers', itemProp);
} else {
var th = document.createElement('th');
cell = row.appendChild(th);
}
i++;
}
}
self.data.columnCount = i;
},
loadHeadingData:...