From 5037110da8c22457d0b628ddc00cb571be1bef5b Mon Sep 17 00:00:00 2001 From: rshen91 Date: Wed, 11 Mar 2020 11:57:35 -0600 Subject: [PATCH] refactor: update naming and remove from scales spec --- .../xy_chart/utils/axis_utils.test.ts | 10 +++++----- src/chart_types/xy_chart/utils/axis_utils.ts | 9 +++------ src/chart_types/xy_chart/utils/scales.ts | 18 +++--------------- src/chart_types/xy_chart/utils/specs.ts | 2 +- src/scales/scale_continuous.ts | 3 --- stories/line/10_duplicate_ticks.tsx | 7 ++++++- 6 files changed, 18 insertions(+), 31 deletions(-) diff --git a/src/chart_types/xy_chart/utils/axis_utils.test.ts b/src/chart_types/xy_chart/utils/axis_utils.test.ts index 4ece042beb..5afb598692 100644 --- a/src/chart_types/xy_chart/utils/axis_utils.test.ts +++ b/src/chart_types/xy_chart/utils/axis_utils.test.ts @@ -48,7 +48,7 @@ import { getAxisTickLabelPadding, isVerticalGrid, isHorizontalGrid, - getDuplicateTicks, + enableDuplicatedTicks, } from './axis_utils'; import { CanvasTextBBoxCalculator } from '../../../utils/bbox/canvas_text_bbox_calculator'; import { SvgTextBBoxCalculator } from '../../../utils/bbox/svg_text_bbox_calculator'; @@ -1448,7 +1448,7 @@ describe('Axis computational utils', () => { const axisSpec: AxisSpec = { id: 'bottom', position: 'bottom', - duplicateTicks: false, + enableDuplicatedTicks: false, chartType: 'xy_axis', specType: 'axis', groupId: '__global__', @@ -1470,7 +1470,7 @@ describe('Axis computational utils', () => { const scale: Scale = computeXScale({ xDomain: xDomainTime, totalBarsInCluster: 0, range: [0, 603.5] }); const offset = 0; const tickFormatOption = { timeZone: 'utc+1' }; - expect(getDuplicateTicks(axisSpec, scale, offset, tickFormatOption)).toEqual([ + expect(enableDuplicatedTicks(axisSpec, scale, offset, tickFormatOption)).toEqual([ { value: 1547208000000, label: '2019-01-11', position: 25.145833333333332 }, { value: 1547251200000, label: '2019-01-12', position: 85.49583333333334 }, { value: 1547337600000, label: '2019-01-13', position: 206.19583333333333 }, @@ -1488,7 +1488,7 @@ describe('Axis computational utils', () => { const axisSpec: AxisSpec = { id: 'bottom', position: 'bottom', - duplicateTicks: true, + enableDuplicatedTicks: true, chartType: 'xy_axis', specType: 'axis', groupId: '__global__', @@ -1510,7 +1510,7 @@ describe('Axis computational utils', () => { const scale: Scale = computeXScale({ xDomain: xDomainTime, totalBarsInCluster: 0, range: [0, 603.5] }); const offset = 0; const tickFormatOption = { timeZone: 'utc+1' }; - expect(getDuplicateTicks(axisSpec, scale, offset, tickFormatOption)).toEqual([ + expect(enableDuplicatedTicks(axisSpec, scale, offset, tickFormatOption)).toEqual([ { value: 1547208000000, label: '2019-01-11', position: 25.145833333333332 }, { value: 1547251200000, label: '2019-01-12', position: 85.49583333333334 }, { value: 1547294400000, label: '2019-01-12', position: 145.84583333333333 }, diff --git a/src/chart_types/xy_chart/utils/axis_utils.ts b/src/chart_types/xy_chart/utils/axis_utils.ts index 634ca124fa..7316fd92b9 100644 --- a/src/chart_types/xy_chart/utils/axis_utils.ts +++ b/src/chart_types/xy_chart/utils/axis_utils.ts @@ -156,7 +156,6 @@ export function getScaleForAxisSpec( range, ticks: axisSpec.ticks, integersOnly: axisSpec.integersOnly, - duplicateTicks: axisSpec.duplicateTicks, }); if (yScales.has(axisSpec.groupId)) { return yScales.get(axisSpec.groupId)!; @@ -171,7 +170,6 @@ export function getScaleForAxisSpec( enableHistogramMode, ticks: axisSpec.ticks, integersOnly: axisSpec.integersOnly, - duplicateTicks: axisSpec.duplicateTicks, }); } } @@ -233,7 +231,6 @@ export function computeTickDimensions( axisConfig: AxisConfig, tickLabelPadding: number, tickLabelRotation = 0, - // duplicateTicks: boolean = false, tickFormatOptions?: TickFormatterOptions, ) { const tickValues = scale.ticks(); @@ -443,10 +440,10 @@ export function getAvailableTicks( return [firstTick, lastTick]; } - return getDuplicateTicks(axisSpec, scale, offset, tickFormatOptions); + return enableDuplicatedTicks(axisSpec, scale, offset, tickFormatOptions); } -export function getDuplicateTicks( +export function enableDuplicatedTicks( axisSpec: AxisSpec, scale: Scale, offset: number, @@ -462,7 +459,7 @@ export function getDuplicateTicks( }; }); - if (axisSpec.duplicateTicks === false) { + if (axisSpec.enableDuplicatedTicks === false) { const uniqueTickLabels: { value: any; label: string; position: number }[] = []; allTicks.filter((value, index) => { for (let i = 0; i < labels.length; i++) { diff --git a/src/chart_types/xy_chart/utils/scales.ts b/src/chart_types/xy_chart/utils/scales.ts index 0c64244fac..9c6a76ac21 100644 --- a/src/chart_types/xy_chart/utils/scales.ts +++ b/src/chart_types/xy_chart/utils/scales.ts @@ -78,7 +78,6 @@ interface XScaleOptions { enableHistogramMode?: boolean; ticks?: number; integersOnly?: boolean; - duplicateTicks?: boolean; } /** @@ -88,16 +87,7 @@ interface XScaleOptions { * @param axisLength the length of the x axis */ export function computeXScale(options: XScaleOptions): Scale { - const { - xDomain, - totalBarsInCluster, - range, - barsPadding, - enableHistogramMode, - ticks, - integersOnly, - duplicateTicks, - } = options; + const { xDomain, totalBarsInCluster, range, barsPadding, enableHistogramMode, ticks, integersOnly } = options; const { scaleType, minInterval, domain, isBandScale, timeZone } = xDomain; const rangeDiff = Math.abs(range[1] - range[0]); const isInverse = range[1] < range[0]; @@ -139,7 +129,7 @@ export function computeXScale(options: XScaleOptions): Scale { } else { return new ScaleContinuous( { type: scaleType, domain, range }, - { bandwidth: 0, minInterval, timeZone, totalBarsInCluster, barsPadding, ticks, integersOnly, duplicateTicks }, + { bandwidth: 0, minInterval, timeZone, totalBarsInCluster, barsPadding, ticks, integersOnly }, ); } } @@ -150,7 +140,6 @@ interface YScaleOptions { range: [number, number]; ticks?: number; integersOnly?: boolean; - duplicateTicks?: boolean; } /** * Compute the y scales, one per groupId for the y axis. @@ -159,7 +148,7 @@ interface YScaleOptions { */ export function computeYScales(options: YScaleOptions): Map { const yScales: Map = new Map(); - const { yDomains, range, ticks, integersOnly, duplicateTicks } = options; + const { yDomains, range, ticks, integersOnly } = options; yDomains.forEach(({ scaleType: type, domain, groupId }) => { const yScale = new ScaleContinuous( { @@ -170,7 +159,6 @@ export function computeYScales(options: YScaleOptions): Map { { ticks, integersOnly, - duplicateTicks, }, ); yScales.set(groupId, yScale); diff --git a/src/chart_types/xy_chart/utils/specs.ts b/src/chart_types/xy_chart/utils/specs.ts index 50b911f0d0..ed2b241c83 100644 --- a/src/chart_types/xy_chart/utils/specs.ts +++ b/src/chart_types/xy_chart/utils/specs.ts @@ -526,7 +526,7 @@ export interface AxisSpec extends Spec { /** Show only integar values **/ integersOnly?: boolean; /** Remove duplicate ticks, default is false*/ - duplicateTicks?: boolean; + enableDuplicatedTicks?: boolean; } export type TickFormatterOptions = { diff --git a/src/scales/scale_continuous.ts b/src/scales/scale_continuous.ts index f5ce21885f..154bf3b3fc 100644 --- a/src/scales/scale_continuous.ts +++ b/src/scales/scale_continuous.ts @@ -139,8 +139,6 @@ interface ScaleOptions { isSingleValueHistogram: boolean; /** Show only integer values **/ integersOnly?: boolean; - /** Show duplicate tick values default to false */ - duplicateTicks?: boolean; } const defaultScaleOptions: ScaleOptions = { bandwidth: 0, @@ -151,7 +149,6 @@ const defaultScaleOptions: ScaleOptions = { ticks: 10, isSingleValueHistogram: false, integersOnly: false, - duplicateTicks: false, }; export class ScaleContinuous implements Scale { readonly bandwidth: number; diff --git a/stories/line/10_duplicate_ticks.tsx b/stories/line/10_duplicate_ticks.tsx index 712f283716..2b71b6b8d9 100644 --- a/stories/line/10_duplicate_ticks.tsx +++ b/stories/line/10_duplicate_ticks.tsx @@ -31,7 +31,12 @@ export const example = () => { const duplicateTicksInAxis = boolean('Show duplicate ticks in x axis', false); return ( - +