[#316,timeline][m]: timeline now handles BC dates and has a switch to support non US dates dd/dd/dddd - fixes #316.

* 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
This commit is contained in:
Rufus Pollock
2013-08-14 22:18:16 +01:00
parent 3bda0d6ff8
commit ccf60d00f0
10 changed files with 79 additions and 7852 deletions

View File

@@ -19,13 +19,13 @@ test('extract dates and timelineJSON', function () {
'headline': '',
'date': [
{
'startDate': moment('2012-03-20').toDate(),
'startDate': '2012,03,20',
'endDate': null,
'headline': '1',
'text': '<div class="recline-record-summary"><div class="Date"><strong>Date</strong>: 2012-03-20</div><div class="title"><strong>title</strong>: 1</div></div>'
},
{
'startDate': moment('2012-03-25').toDate(),
'startDate': '2012,03,25',
'endDate': null,
'headline': '2',
'text': '<div class="recline-record-summary"><div class="Date"><strong>Date</strong>: 2012-03-25</div><div class="title"><strong>title</strong>: 2</div></div>'
@@ -41,13 +41,13 @@ test('render etc', function () {
var view = new recline.View.Timeline({
model: dataset
});
view.render();
$('.fixtures').append(view.el);
view.render();
view._initTimeline();
assertPresent('.vmm-timeline', view.el);
assertPresent('.vco-timeline', view.el);
assertPresent('.timenav', view.el);
assertPresent('.timenav', view.el);
equal(view.$el.find('.marker.active h4').text(), '2011');
equal(view.$el.find('.marker.active h3').text(), 'firstfirst');
view.remove();
});
@@ -57,18 +57,21 @@ test('_parseDate', function () {
model: dataset
});
var testData = [
[ '1st August 1914', '1914-08-01T00:00:00.000Z' ],
[ '1 August 1914', '1914-08-01T00:00:00.000Z' ],
[ 'August 1st 1914', '1914-08-01T00:00:00.000Z' ],
[ '1914-08-01', '1914-08-01T00:00:00.000Z' ],
[ '1914-08-01T08:00', '1914-08-01T08:00:00.000Z' ],
[ 'afdaf afdaf', null ],
// [ '1st August 1914', '1914-08-01T00:00:00.000Z' ],
// [ '1 August 1914', '1914-08-01T00:00:00.000Z' ],
// [ 'August 1st 1914', '1914-08-01T00:00:00.000Z' ],
[ '1914-08-01', '1914,08,01' ],
[ '1914-08-01T08:00', '1914,08,01,08,00' ],
[ '03-20-1914', '03/20/1914' ],
[ '20/03/1914', '20/03/1914' ],
[ null, null ]
];
_.each(testData, function(item) {
var out = view._parseDate(item[0]);
if (out) out = moment(out).toJSON();
equal(out, item[1]);
});
view.state.set({'nonUSDates': true});
var out = view._parseDate('20/03/1914');
equal(out, '03/20/1914');
});