* upgrade timeine view to latest TimelineJS (note vendor code went in in last commit as needed to patch in this one)
* Minor fix to TimelineJS timeline.js code (actual bug I think)
* BC (-ve years) support is provided by latest TimelineJS (raw vendor code in last commit)
* Strip out use of momentjs and just use timelinejs date parsing (various changes and tests around this)
* state option nonUSDates: true to parse dd/mm/yyyy properly
* The bug was triggered by change in 4d128af797546e5174537d8ed530a243e444eeab to use model fields if explicitly provided
* model.test.js illustrated issue (that new test was failing prior to changes to csv backend in this commit)
* Issue was that CSV backend did not pass back fields option. Previously, if no fields provided from backend we extracted fields from first row of the returned records. With change in 4d128af797546e5174537d8ed530a243e444eeab to use model fields if provided we had an issue as we no longer removed first row for fields.
* Fixed by having CSV backend explicitly extract fields and pass them back
* Note you still need to set the type of the field to time for this to work properly (i.e. we do not attempt to guess a column is dates as that is very error-prone).
* In addition reduced pattern of passing in $ to backend modules - instead just use jQuery explicitly (this should make it easier to mock-out jQuery if you waned to
* Also simplified (and made more efficient) by removing dependency on (not very useful) recline.Data.Transform.mapDocs function
* As documented in #291 issue was that an id was required in the docs
If passed fields = [ null, ..., ...] or [ ... , null, ...] we fail in Dataset._normalizeRecordsAndFields method because:
1. If null is first element we do not do field generation correctly because typeof(null) is object - ede211646a/src/model.js (L108)
2. We call toString on field names which fails for null ede211646a/src/model.js (L113)
* This automatically provides support for things like custom markers via
pointToLayer etc
* Also a significant bugfix for a bug that surfaced when using different marker
(like the CircleMarker) - and which took ~30m to track down. Bug was that the
call to zoom (or, more specifically, call to getBounds) occurred before
features were added to the map and getBounds for some objects (such as
circles) requires map to exit (so you can do a projection!)