Skip to content

Commit aebb07c

Browse files
changes from @alexcjohnson
1 parent d5a114f commit aebb07c

File tree

1 file changed

+6
-56
lines changed

1 file changed

+6
-56
lines changed

src/lib/dates.js

Lines changed: 6 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -433,28 +433,6 @@ function formatTime(x, tr) {
433433
return timeStr;
434434
}
435435

436-
/*
437-
* formatWorld: format a calendar date using the d3 format syntax.
438-
*
439-
* cDate: the date to format
440-
* d3Format: the d3 format
441-
*
442-
* returns the formatted date
443-
*/
444-
function formatWorld(cDate, d3Format) {
445-
var d3ToC = [
446-
{d3: '%Y', c: 'yyyy'},
447-
{d3: '%b', c: 'M'},
448-
{d3: '%-d', c: 'd'},
449-
{d3: '%e', c: 'd'}
450-
];
451-
var calendarFormat = d3Format;
452-
for (var i = 0; i < d3ToC.length; i++) {
453-
calendarFormat = calendarFormat.replace(new RegExp(d3ToC[i].d3,"g"), d3ToC[i].c);
454-
}
455-
return cDate.formatDate(calendarFormat);
456-
}
457-
458436
/*
459437
* formatDate: turn a date into tick or hover label text.
460438
*
@@ -473,48 +451,20 @@ function formatWorld(cDate, d3Format) {
473451
* one tick to the next (as it does with automatic formatting)
474452
*/
475453
exports.formatDate = function(x, fmt, tr, formatter, calendar, extraFormat) {
476-
var headStr,
477-
dateStr;
478-
479454
calendar = isWorldCalendar(calendar) && calendar;
480455

481-
if(fmt) return modDateFormat(fmt, x, formatter, calendar);
482-
483-
if(calendar) {
484-
try {
485-
var dateJD = Math.floor((x + 0.05) / ONEDAY) + EPOCHJD,
486-
cDate = Registry.getComponentMethod('calendars', 'getCal')(calendar)
487-
.fromJD(dateJD);
488-
489-
if(tr === 'y') dateStr = formatWorld(cDate, extraFormat.year);
490-
else if(tr === 'm') dateStr = formatWorld(cDate, extraFormat.month);
491-
else if(tr === 'd') {
492-
headStr = formatWorld(cDate, extraFormat.year);
493-
dateStr = formatWorld(cDate, extraFormat.dayMonth);
494-
}
495-
else {
496-
headStr = formatWorld(cDate, extraFormat.dayMonthYear);
497-
dateStr = formatTime(x, tr);
498-
}
499-
}
500-
catch(e) { return 'Invalid'; }
501-
}
502-
else {
503-
var d = new Date(Math.floor(x + 0.05));
504-
505-
if(tr === 'y') dateStr = formatter(extraFormat.year)(d);
506-
else if(tr === 'm') dateStr = formatter(extraFormat.month)(d);
456+
if(!fmt) {
457+
if(tr === 'y') fmt = extraFormat.year;
458+
else if(tr === 'm') fmt = extraFormat.month;
507459
else if(tr === 'd') {
508-
headStr = formatter(extraFormat.year)(d);
509-
dateStr = formatter(extraFormat.dayMonth)(d);
460+
fmt = extraFormat.dayMonth + '\n' + extraFormat.year;
510461
}
511462
else {
512-
headStr = formatter(extraFormat.dayMonthYear)(d);
513-
dateStr = formatTime(x, tr);
463+
return formatTime(x, tr) + '\n' + modDateFormat(extraFormat.dayMonthYear, x, formatter, calendar);
514464
}
515465
}
516466

517-
return dateStr + (headStr ? '\n' + headStr : '');
467+
return modDateFormat(fmt, x, formatter, calendar);
518468
};
519469

520470
/*

0 commit comments

Comments
 (0)