@@ -72,7 +72,7 @@ export const getTimeLabelFormats = (granularity: Granularity): [string, string,
7272export const getControlledLabelAnchorValues = (
7373 position : Position ,
7474 labelOrientaion : Orientation ,
75- labelAlign ?: LabelAlign
75+ labelAlign ?: LabelAlign ,
7676) : { align : Align | undefined ; baseline : Baseline | undefined } => {
7777 // if there isn't a labelAlign, we don't want to set the align or baseline
7878 if ( ! labelAlign ) return { align : undefined , baseline : undefined } ;
@@ -94,7 +94,7 @@ export const getLabelAnchorValues = (
9494 labelOrientaion : Orientation ,
9595 labelAlign : LabelAlign ,
9696 vegaLabelAlign ?: Align ,
97- vegaLabelBaseline ?: Baseline
97+ vegaLabelBaseline ?: Baseline ,
9898) : { labelAlign : Align ; labelBaseline : Baseline } => {
9999 const { align, baseline } = getLabelAnchor ( position , labelOrientaion , labelAlign ) ;
100100 // if vegaLabelAlign or vegaLabelBaseline are set, we want to use those values instead of the calculated values
@@ -114,7 +114,7 @@ export const getLabelAnchorValues = (
114114export const getLabelAnchor = (
115115 position : Position ,
116116 labelOrientaion : Orientation ,
117- labelAlign : LabelAlign
117+ labelAlign : LabelAlign ,
118118) : { align : Align ; baseline : Baseline } => {
119119 let align : Align ;
120120 let baseline : Baseline ;
@@ -186,7 +186,7 @@ export const getLabelAngle = (labelOrientaion: Orientation): number => {
186186export const getLabelBaseline = (
187187 labelAlign : LabelAlign | undefined ,
188188 position : Position ,
189- vegaLabelBaseline ?: Baseline
189+ vegaLabelBaseline ?: Baseline ,
190190) : Baseline | undefined => {
191191 if ( vegaLabelBaseline ) return vegaLabelBaseline ;
192192 if ( ! labelAlign ) return ;
@@ -212,7 +212,7 @@ export const getLabelBaseline = (
212212export const getLabelOffset = (
213213 labelAlign : LabelAlign ,
214214 scaleName : string ,
215- vegaLabelOffset ?: NumberValue
215+ vegaLabelOffset ?: NumberValue ,
216216) : NumberValue | undefined => {
217217 if ( vegaLabelOffset !== undefined ) return vegaLabelOffset ;
218218 switch ( labelAlign ) {
@@ -232,11 +232,14 @@ export const getLabelOffset = (
232232 */
233233export const getLabelFormat = (
234234 { labelFormat, labelOrientation, numberFormat, position, truncateLabels } : AxisSpecProps ,
235- scaleName : string
235+ scaleName : string ,
236236) : ProductionRule < TextValueRef > => {
237237 if ( labelFormat === 'percentage' ) {
238238 return [ { test : 'isNumber(datum.value)' , signal : "format(datum.value, '~%')" } , { signal : 'datum.value' } ] ;
239239 }
240+ if ( labelFormat === 'duration' ) {
241+ return { signal : 'formatTimeDurationLabels(datum)' } ;
242+ }
240243
241244 // if it's a number and greater than or equal to 1000, we want to format it in scientific notation (but with B instead of G) ex. 1K, 20M, 1.3B
242245 return [
@@ -270,7 +273,7 @@ export const getAxisLabelsEncoding = (
270273 labelKey : 'label' | 'subLabel' ,
271274 labelOrientation : Orientation ,
272275 position : Position ,
273- signalName : string
276+ signalName : string ,
274277) : GuideEncodeEntry < TextEncodeEntry > => ( {
275278 update : {
276279 text : [
@@ -306,7 +309,7 @@ export const getEncodedLabelAnchor = (
306309 position : Position ,
307310 signalName : string ,
308311 labelOrientation : Orientation ,
309- defaultLabelAlign : LabelAlign
312+ defaultLabelAlign : LabelAlign ,
310313) : EncodeEntry => {
311314 const baseTestString = `indexof(pluck(${ signalName } , 'value'), datum.value) !== -1 && ${ signalName } [indexof(pluck(${ signalName } , 'value'), datum.value)]` ;
312315 const baseSignalString = `${ signalName } [indexof(pluck(${ signalName } , 'value'), datum.value)]` ;
0 commit comments