@@ -85,7 +85,7 @@ class DataBarCellRenderer extends CellRenderer {
8585 markers,
8686 direction,
8787 value,
88- } = model . dataBarOptionsForCell ( modelColumn , modelRow ) ;
88+ } = model . dataBarOptionsForCell ( modelColumn , modelRow , theme ) ;
8989
9090 const hasGradient = Array . isArray ( dataBarColor ) ;
9191 if ( columnMin == null || columnMax == null ) {
@@ -343,7 +343,7 @@ class DataBarCellRenderer extends CellRenderer {
343343 markers,
344344 direction,
345345 value,
346- } = model . dataBarOptionsForCell ( modelColumn , modelRow ) ;
346+ } = model . dataBarOptionsForCell ( modelColumn , modelRow , theme ) ;
347347 const longestValueWidth = this . getCachedWidestValueForColumn (
348348 context ,
349349 visibleRows ,
@@ -398,11 +398,9 @@ class DataBarCellRenderer extends CellRenderer {
398398 ? zeroPosition
399399 : zeroPosition - ( Math . abs ( value ) / totalValueRange ) * maxWidth ;
400400 let markerXs = markers . map ( marker => {
401- const { column : markerColumn } = marker ;
402- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
403- return markerValue >= 0
404- ? zeroPosition + ( Math . abs ( markerValue ) / totalValueRange ) * maxWidth
405- : zeroPosition - ( Math . abs ( markerValue ) / totalValueRange ) * maxWidth ;
401+ const { value : markerValue } = marker ;
402+ const offset = ( Math . abs ( markerValue ) / totalValueRange ) * maxWidth ;
403+ return markerValue >= 0 ? zeroPosition + offset : zeroPosition - offset ;
406404 } ) ;
407405 let leftmostPosition =
408406 valuePlacement === 'beside' && textAlign === 'left'
@@ -424,8 +422,7 @@ class DataBarCellRenderer extends CellRenderer {
424422 ? zeroPosition - ( value / totalValueRange ) * maxWidth
425423 : zeroPosition ;
426424 markerXs = markers . map ( marker => {
427- const { column : markerColumn } = marker ;
428- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
425+ const { value : markerValue } = marker ;
429426 return markerValue >= 0
430427 ? zeroPosition - ( Math . abs ( markerValue ) / totalValueRange ) * maxWidth
431428 : zeroPosition + ( Math . abs ( markerValue ) / totalValueRange ) * maxWidth ;
@@ -441,8 +438,8 @@ class DataBarCellRenderer extends CellRenderer {
441438 ? zeroPosition
442439 : zeroPosition - ( Math . abs ( value ) / columnLongest ) * ( maxWidth / 2 ) ;
443440 markerXs = markers . map ( marker => {
444- const { column : markerColumn } = marker ;
445- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
441+ const { value : markerValue } = marker ;
442+
446443 return markerValue >= 0
447444 ? zeroPosition +
448445 ( Math . abs ( markerValue ) / columnLongest ) * ( maxWidth / 2 )
@@ -456,8 +453,8 @@ class DataBarCellRenderer extends CellRenderer {
456453 ? zeroPosition
457454 : zeroPosition - ( Math . abs ( value ) / columnLongest ) * ( maxWidth / 2 ) ;
458455 markerXs = markers . map ( marker => {
459- const { column : markerColumn } = marker ;
460- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
456+ const { value : markerValue } = marker ;
457+
461458 return markerValue <= 0
462459 ? zeroPosition +
463460 ( Math . abs ( markerValue ) / columnLongest ) * ( maxWidth / 2 )
@@ -471,8 +468,8 @@ class DataBarCellRenderer extends CellRenderer {
471468 zeroPosition = 0 ;
472469 dataBarX = zeroPosition ;
473470 markerXs = markers . map ( marker => {
474- const { column : markerColumn } = marker ;
475- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
471+ const { value : markerValue } = marker ;
472+
476473 return (
477474 zeroPosition + ( Math . abs ( markerValue ) / columnLongest ) * maxWidth
478475 ) ;
@@ -482,8 +479,8 @@ class DataBarCellRenderer extends CellRenderer {
482479 zeroPosition = columnWidth ;
483480 dataBarX = zeroPosition - ( Math . abs ( value ) / columnLongest ) * maxWidth ;
484481 markerXs = markers . map ( marker => {
485- const { column : markerColumn } = marker ;
486- const markerValue = Number ( model . textForCell ( markerColumn , modelRow ) ) ;
482+ const { value : markerValue } = marker ;
483+
487484 return (
488485 zeroPosition - ( Math . abs ( markerValue ) / columnLongest ) * maxWidth
489486 ) ;
0 commit comments