@@ -14,7 +14,6 @@ var Lib = require('../../lib');
14
14
var d3 = require ( 'd3' ) ;
15
15
var Drawing = require ( '../../components/drawing' ) ;
16
16
17
-
18
17
function keyFun ( d ) { return d . key ; }
19
18
20
19
function repeat ( d ) { return [ d ] ; }
@@ -65,23 +64,27 @@ function ordinalScaleSnap(scale, v) {
65
64
return a [ a . length - 1 ] ;
66
65
}
67
66
67
+ function toText ( formatter , texts ) {
68
+ return function ( v , i ) {
69
+ if ( texts ) {
70
+ var text = texts [ i ] ;
71
+ if ( text === null || text === undefined ) {
72
+ return formatter ( v ) ;
73
+ } else {
74
+ return text ;
75
+ }
76
+ } else {
77
+ return formatter ( v ) ;
78
+ }
79
+ } ;
80
+ }
81
+
68
82
function domainScale ( height , padding , dimension ) {
69
83
var extent = dimensionExtent ( dimension ) ;
70
- var ticktext = dimension . ticktext ;
84
+ var texts = dimension . ticktext ;
71
85
return dimension . tickvals ?
72
86
d3 . scale . ordinal ( )
73
- . domain ( dimension . tickvals . map ( function ( v , i ) {
74
- if ( ticktext ) {
75
- var text = ticktext [ i ] ;
76
- if ( text === undefined || text === null ) {
77
- return d3 . format ( dimension . tickformat ) ( v ) ;
78
- } else {
79
- return text ;
80
- }
81
- } else {
82
- return d3 . format ( dimension . tickformat ) ( v ) ;
83
- }
84
- } ) )
87
+ . domain ( dimension . tickvals . map ( toText ( d3 . format ( dimension . tickformat ) , texts ) ) )
85
88
. range ( dimension . tickvals
86
89
. map ( function ( d ) { return ( d - extent [ 0 ] ) / ( extent [ 1 ] - extent [ 0 ] ) ; } )
87
90
. map ( function ( d ) { return ( height - padding + d * ( padding - ( height - padding ) ) ) ; } ) ) :
@@ -569,18 +572,7 @@ module.exports = function(root, svg, styledData, layout, callbacks) {
569
572
. outerTickSize ( 2 )
570
573
. ticks ( wantedTickCount , d . tickFormat ) // works for continuous scales only...
571
574
. tickValues ( d . ordinal ? // and this works for ordinal scales
572
- sdom . map ( function ( dd , i ) {
573
- if ( texts ) {
574
- var text = texts [ i ] ;
575
- if ( text === null || text === undefined ) {
576
- return dd ;
577
- } else {
578
- return text ;
579
- }
580
- } else {
581
- return dd ;
582
- }
583
- } ) :
575
+ sdom . map ( toText ( Lib . identity ) , texts ) :
584
576
null )
585
577
. tickFormat ( d . ordinal ? function ( d ) { return d ; } : null )
586
578
. scale ( scale ) ) ;
0 commit comments