Introduction
Introduction Statistics Contact Development Disclaimer Help
Revert "datatable: simplify and cleanup some code" - jscancer - Javascript crap…
git clone git://git.codemadness.org/jscancer
Log
Files
Refs
README
LICENSE
---
commit c1bcedb1c1fc7c5869121f632a5c2ce5c369ae4a
parent 75b7571cde3f25490a3042e346f508a4389bcba6
Author: Hiltjo Posthuma <[email protected]>
Date: Thu, 17 Aug 2017 19:04:01 +0200
Revert "datatable: simplify and cleanup some code"
This reverts commit 8f13ca642d42f2de56679e408389922c9f06f214.
Diffstat:
M datatable/datatable.js | 59 ++++++++++++++++++++---------…
1 file changed, 39 insertions(+), 20 deletions(-)
---
diff --git a/datatable/datatable.js b/datatable/datatable.js
@@ -8,10 +8,16 @@ function datatable_sort_default(x, y) {
}
function datatable_init(el) {
- var thead = el.tHead,
- tbody = el.tBodies[0];
- var ths = thead.children[0].children,
- cols = [];
+ var thead = el.getElementsByTagName("thead");
+ if (!thead.length)
+ return null;
+ var tbody = el.getElementsByTagName("tbody");
+ if (!tbody.length)
+ return null;
+ var ths = thead[0].children[0].children;
+ if (!ths.length)
+ return null;
+ var cols = [];
for (var i = 0; i < ths.length; i++)
cols.push({
filterable: ["1", "true"].indexOf(ths[i].getAttribute(…
@@ -21,9 +27,9 @@ function datatable_init(el) {
});
var d = {
table: el,
- thead: thead,
+ thead: thead[0],
ths: ths,
- tbody: tbody,
+ tbody: tbody[0],
cols: cols,
sort: [], // sort options: [colidx, order (ASC = 0, DESC = 1)…
lazyscroll: ["1", "true"].indexOf(el.getAttribute("data-lazysc…
@@ -34,32 +40,45 @@ function datatable_init(el) {
if (d.lazyscroll) {
var bodytable = document.createElement("table");
bodytable.className = el.className;
- bodytable.cellSpacing = bodytable.cellPadding = bodytable.bord…
- var headerstable = bodytable.cloneNode(true);
+ bodytable.setAttribute("cellspacing", "0");
+ bodytable.setAttribute("cellpadding", "0");
+ bodytable.setAttribute("border", "0");
- var elthead = document.createElement("thead"),
- tr = thead.children[0].cloneNode(true);
- d.ths = tr.children; // set new columns (for sorting etc)..
+ var tr = document.createElement("tr");
+ for (var i = 0; i < ths.length; i++) {
+ var th = ths[i].cloneNode(true);
+ th.innerHTML = "";
+ tr.appendChild(th);
+ }
+ var bodythead = document.createElement("thead");
+ bodythead.appendChild(tr);
+
+ tr = document.createElement("tr");
+ var newths = [];
+ for (var i = 0; i < ths.length; i++)
+ newths.push(tr.appendChild(ths[i].cloneNode(true)));
+ d.ths = newths; // set new columns (for sorting etc)..
+ var elthead = document.createElement("thead");
elthead.appendChild(tr);
+ var headerstable = document.createElement("table");
+ headerstable.setAttribute("cellspacing", "0");
+ headerstable.setAttribute("cellpadding", "0");
+ headerstable.setAttribute("border", "0");
+ headerstable.className = el.className;
headerstable.appendChild(elthead);
- tr = tr.cloneNode(true);
- for (var i = 0; i < tr.children.length; i++)
- tr.children[i].innerHTML = "";
- var bodythead = document.createElement("thead");
- bodythead.appendChild(tr);
- bodytable.appendChild(bodythead);
-
var headersel = document.createElement("div");
headersel.className = "datatable-lazyscroll-headers";
headersel.appendChild(headerstable);
- var bodyel = headersel.cloneNode(false);
+ bodytable.appendChild(bodythead);
+
+ var bodyel = document.createElement("div");
bodyel.className = "datatable-lazyscroll-body";
bodyel.appendChild(bodytable);
- var containerel = headersel.cloneNode(false);
+ var containerel = document.createElement("div");
containerel.className = "datatable-lazyscroll-container";
containerel.appendChild(headersel);
containerel.appendChild(bodyel);
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.