@@ -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 */
475453exports . 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