datatable: update README and TODO, IE10+ supported - jscancer - Javascript crap (relatively small)
(HTM) git clone git://git.codemadness.org/jscancer
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit f263a504ddcd4bcfbeca9bc73d2461b724e896d6
(DIR) parent a6b030dbb1c1443be3b756c189603688db70c330
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Thu, 2 Jun 2016 18:56:52 +0200
datatable: update README and TODO, IE10+ supported
Diffstat:
M datatable/README | 10 +++++-----
M datatable/TODO | 19 ++++---------------
2 files changed, 9 insertions(+), 20 deletions(-)
---
(DIR) diff --git a/datatable/README b/datatable/README
@@ -8,8 +8,8 @@ FEATURES
--------
- Small:
- - Filesize: +- 9KB.
- - Lines: +- 285, not much code, so hopefully easy to understand.
+ - Filesize: +- 9.4KB.
+ - Lines: +- 300, not much code, so hopefully easy to understand.
- No dependencies on other libraries like jQuery.
- Sorting on columns, multi-column support with shift-click.
- Filtering values: case-insensitively, tokenized (separated by space).
@@ -24,7 +24,7 @@ FEATURES
- Officially supported browsers are:
- Firefox and Firefox ESR.
- Chrome and most recent webkit-based browsers.
- - IE8+ (use compat.js).
+ - IE10+.
USAGE
@@ -34,8 +34,8 @@ USAGE
EXAMPLES
--------
-See example.html and style.css for an example. A stylesheet file style.css
-is also included, it contains the icons as embedded images.
+See example.html for an example. A stylesheet file datatable.css is also
+included, it contains the icons as embedded images.
A table should have the classname "datatable" set, it must contain a <thead>
for the column headers (<td> or <th>) and <tbody> element for the data. The
(DIR) diff --git a/datatable/TODO b/datatable/TODO
@@ -1,5 +1,4 @@
-TODO:
-
+- non-lazyload: test performance of filter and sort.
- AJAX example:
- allow simple load from AJAX, make example-ajax.html.
- ajax example use createTextNode (much faster than setting textContent).
@@ -7,29 +6,19 @@ TODO:
- scrolling is broken at the end?
? use documentfragment to insert rows, should not matter much performance-wise since its only a few rows?
- use childNodes, not children? NOTE: may contain textNode?
-- lazyload: broken on Firefox ESR 45.1.1
- lazyload: render function: set height each time only when nrows changed, it will cause a reflow?
- lazyload: render function: nrows can be < 0 if data.length = 0 ? might not be an issue.
-x lazyload: clicking on column doesn't toggle class.
-? lazyload: onclick handler: reuse code.
-x lazyload: data-sortable="false" is ignored on column.
-x filter: on Chrome/IE clearing input (oninput event?) reset the filtering.
-- increase IE dependency to 9?
+
? fix margin-right offset for scrollbar when table does not fit on screen (window resize).
- calculate margin-right in javascript (in case of weird-sized scrollbars).
-- keep lazyload code modular (don't interweave with datatables code), should be simple
- to remove.
? in IE atleast: table can be sorted before the table is fully parsed which results
in weirdly sorted data, not sure.
-x IE: Array.from not supported.
- datatable_data_parse: use childNodes? (faster).
-- bug: when filtering data, then use sort, then remove the filter the data is unsorted.
-
-- optimize table rendering, row creation etc somehow.
+? optimize table rendering, row creation etc somehow.
- update classlist separately (sort-asc, sort-desc, sort-disabled), prevent recalculating styles.
- https://jakearchibald.com/2013/solving-rendering-perf-puzzles/ and about:tracing
-- optimize sort and filtering (more).
+
- benchmark load time, parse time, initialization, sort and filter performance
separately in some way.