Skip to content

Commit

Permalink
fix: support utc formatting for ordinal data (vega#7815)
Browse files Browse the repository at this point in the history
Co-authored-by: GitHub Actions Bot <vega-actions-bot@users.noreply.github.com>
  • Loading branch information
2 people authored and BradyJ27 committed Oct 19, 2023
1 parent dd01d8c commit 4374717
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 6 deletions.
Binary file modified examples/compiled/time_parse_utc.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/compiled/time_parse_utc.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/compiled/time_parse_utc.vg.json
Expand Up @@ -71,7 +71,7 @@
"format": {
"signal": "timeUnitSpecifier([\"hours\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"})"
},
"formatType": "time",
"formatType": "utc",
"labelOverlap": true,
"zindex": 0
}
Expand Down
2 changes: 0 additions & 2 deletions site/_includes/docs_toc.md
Expand Up @@ -287,7 +287,6 @@
- [Nominal]({{site.baseurl}}/docs/type.html#nominal)
- [GeoJSON]({{site.baseurl}}/docs/type.html#geojson)
- [Value]({{site.baseurl}}/docs/value.html)
- [Examples]({{site.baseurl}}/docs/value.html#examples)
- [Projection]({{site.baseurl}}/docs/projection.html)
- [Documentation Overview]({{site.baseurl}}/docs/projection.html#documentation-overview)
- [Projection Properties]({{site.baseurl}}/docs/projection.html#projection-properties)
Expand Down Expand Up @@ -330,7 +329,6 @@
- [Using Parameters]({{site.baseurl}}/docs/parameter.html#using-parameters)
- [Selection Configuration]({{site.baseurl}}/docs/parameter.html#config)
- [Value]({{site.baseurl}}/docs/value.html)
- [Examples]({{site.baseurl}}/docs/value.html#examples)
- [Expr]({{site.baseurl}}/docs/parameter.html)
- [Documentation Overview]({{site.baseurl}}/docs/parameter.html#documentation-overview)
- [Defining a Parameter]({{site.baseurl}}/docs/parameter.html#defining-a-parameter)
Expand Down
2 changes: 1 addition & 1 deletion src/compile/format.ts
Expand Up @@ -160,7 +160,7 @@ export function guideFormatType(
return formatType;
}
if (isFieldOrDatumDefForTimeFormat(fieldOrDatumDef) && scaleType !== 'time' && scaleType !== 'utc') {
return 'time';
return isFieldDef(fieldOrDatumDef) && normalizeTimeUnit(fieldOrDatumDef?.timeUnit)?.utc ? 'utc' : 'time';
}
return undefined;
}
Expand Down
15 changes: 14 additions & 1 deletion test/compile/format.test.ts
@@ -1,5 +1,5 @@
import {vgField} from '../../src/channeldef';
import {formatSignalRef, numberFormat, timeFormatExpression} from '../../src/compile/format';
import {formatSignalRef, guideFormatType, numberFormat, timeFormatExpression} from '../../src/compile/format';
import {defaultConfig} from '../../src/config';
import {NOMINAL, ORDINAL, QUANTITATIVE, TEMPORAL} from '../../src/type';

Expand Down Expand Up @@ -130,4 +130,17 @@ describe('Format', () => {
});
});
});

describe('guideFormatType()', () => {
it('should return existing format type', () => {
expect(guideFormatType('number', {field: ' foo', type: 'quantitative'}, 'ordinal')).toBe('number');
expect(guideFormatType('time', {field: ' foo', type: 'quantitative'}, 'ordinal')).toBe('time');
});

it('should return utc for utc time units', () => {
expect(
guideFormatType('', {field: ' foo', type: 'ordinal', timeUnit: {utc: true, unit: 'year'}}, 'ordinal')
).toBe('utc');
});
});
});

0 comments on commit 4374717

Please sign in to comment.