Options
All
  • Public
  • Public/Protected
  • All
Menu

The SmartDateLabelProvider formats Axis Labels and Cursor / Tooltips for NumericAxis types

Hierarchy

Implements

Index

Constructors

constructor

Properties

asyncLabels

asyncLabels: boolean
deprecated

This functionality has been removed. useNativeText: true provides much greater performance benefit.

Protected firstLabel

firstLabel: boolean = true

Protected format

format: ETradeChartLabelFormat | string

Protected formatCursorLabelProperty

formatCursorLabelProperty: TFormatLabelFn

Protected formatLabelProperty

formatLabelProperty: TFormatLabelFn

parentAxis

parentAxis: AxisCore

The parent AxisCore. This will be set once attachedToAxis is called

Protected providerId

providerId: string = generateGuid()

Protected styleId

styleId: string

This is the id for the text style used by this axis, as stored in the label cache. Cached labels are accessed by text and styleId. If you have useSharedCache = true and are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique, you might not get the labels you expect. You can either set useSharedCache = false, set this to some unique value, or override getCachedStyle

textVariesForSameTick

textVariesForSameTick: boolean = true

Protected tickToText

tickToText: Map<number, string> = new Map<number, string>()

Readonly type

type: SmartDate = ELabelProviderType.SmartDate

useCache

useCache: boolean = !IS_TEST_ENV

useNativeText

useNativeText: boolean = false

Experimental - set true to use native text for axes. Not all text features currently supported

useSharedCache

useSharedCache: boolean

Whether to use cached labels from other axes that have the same style. You may need to set this false if you are overriding getLabelTexture without setting a unique style. Can be set globally using SciChartDefaults. Currently default false.

Accessors

cursorNumericFormat

cursorPrecision

  • get cursorPrecision(): number
  • set cursorPrecision(value: number): void
  • Gets or sets the precision to use for cursors labels

    Returns number

  • Gets or sets the precision to use for cursors labels

    Parameters

    • value: number

    Returns void

dateOffset

  • get dateOffset(): number
  • set dateOffset(value: number): void
  • A timestamp in seconds to add to the value being formatted. This allows you to plot dates with more than millisecond precision but still show a full date with year on the axis

    Returns number

  • A timestamp in seconds to add to the value being formatted. This allows you to plot dates with more than millisecond precision but still show a full date with year on the axis

    Parameters

    • value: number

    Returns void

formatCursorLabel

  • Gets or sets a formatCursorLabel function which is used for formatting a data-value into a string for display on a cursor or tooltip If you are creating a custom LabelProvider, you should override formatCursorLabelProperty, not the formatCursorLabel property! See our Documentation

    Returns TFormatLabelFn

  • Gets or sets a formatCursorLabel function which is used for formatting a data-value into a string for display on a cursor or tooltip If you are creating a custom LabelProvider, you should override formatCursorLabelProperty, not the formatCursorLabel property! See our Documentation

    Parameters

    Returns void

formatLabel

  • Gets or sets a formatLabel function which is used for formatting a data-value into a string for display on the axis labels. If you are creating a custom LabelProvider, you should override formatLabelProperty, not the formatLabel property! See our Documentation

    Returns TFormatLabelFn

  • Gets or sets a formatLabel function which is used for formatting a data-value into a string for display on the axis labels. If you are creating a custom LabelProvider, you should override formatLabelProperty, not the formatLabel property! See our Documentation

    Parameters

    Returns void

lineSpacing

  • get lineSpacing(): number
  • set lineSpacing(value: number): void
  • Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1

    Returns number

  • Line spacing to use if text is wrapped, as a multiple of the text height. Defaults to 1.1

    Parameters

    • value: number

    Returns void

numericFormat

postfix

  • get postfix(): string
  • set postfix(v: string): void
  • Gets or sets a string to add to the end of each label

    Returns string

  • Gets or sets a string to add to the end of each label

    Parameters

    • v: string

    Returns void

precision

  • get precision(): number
  • set precision(value: number): void
  • Gets or sets the precision to use when formatting

    Returns number

  • Gets or sets the precision to use when formatting

    Parameters

    • value: number

    Returns void

prefix

  • get prefix(): string
  • set prefix(v: string): void
  • Gets or sets a string to add to the beginning of each label

    Returns string

  • Gets or sets a string to add to the beginning of each label

    Parameters

    • v: string

    Returns void

rotation

  • get rotation(): number
  • set rotation(value: number): void
  • Returns number

  • Parameters

    • value: number

    Returns void

showWiderDateOnFirstLabel

  • get showWiderDateOnFirstLabel(): boolean
  • set showWiderDateOnFirstLabel(value: boolean): void
  • Gets or Sets whether the first label should be formatted using the wider format (eg Month Day or Month Day Year if showYearOnWiderDate). If false the wider format will only be used when it changes (eg day/month boundary)

    Returns boolean

  • Gets or Sets whether the first label should be formatted using the wider format (eg Month Day or Month Day Year if showYearOnWiderDate). If false the wider format will only be used when it changes (eg day/month boundary).

    Parameters

    • value: boolean

    Returns void

showYearOnWiderDate

  • get showYearOnWiderDate(): boolean
  • set showYearOnWiderDate(value: boolean): void
  • Gets or Sets whether the year should be shown in the wider format used on first label. Default false.

    Returns boolean

  • Gets or Sets whether the year should be shown in the wider format used on first label. Default false.

    Parameters

    • value: boolean

    Returns void

Methods

applyFormat

  • applyFormat(value: string): string
  • Parameters

    • value: string

    Returns string

attachedToAxis

Protected clearCache

  • clearCache(): void

delete

  • delete(): void

detachedFromAxis

  • detachedFromAxis(): void

Protected doFormat

  • doFormat(dataValue: number): string
  • This method is bound to the formatLabel method of the base labelProvider. It calls formatSmartLabel if a format has been set by getLabelRange

    Parameters

    • dataValue: number

    Returns string

Protected formatDatePrecise

  • Format the value using precise format

    Parameters

    Returns string

Protected formatDateWide

  • Format the value in a wider format, for the first label, and when the wider formated value would change

    Parameters

    Returns string

Protected formatSmartLabel

  • formatSmartLabel(tradeChartLabelFormat: ETradeChartLabelFormat | string, value: number, prevValue: number, prevPrevValue: number, originalValue?: number): string
  • Decide whether to format wide or precise, based on the range string, the current value and the two previous values value has the dateOffset added. originalValue is the actual value of the tick

    Parameters

    • tradeChartLabelFormat: ETradeChartLabelFormat | string
    • value: number
    • prevValue: number
    • prevPrevValue: number
    • Optional originalValue: number

    Returns string

getCachedLabelTexture

  • Get a texture for the given label text. By default the textures are created first and then the resulting sizes are used by the layout functions

    Parameters

    • labelText: string

      The required text

    • textureManager: TextureManager

      A textureManager instance which contains methods for creating textures

    • labelStyle: TTextStyle

      The style for the text

    Returns TTextureObject

    A TTextureObject containing the bitmapTexture and the size

Protected getCachedStyle

  • This method creates the text style to be stored in the label cache. When useSharedCache = true, the label cache will generate a new styleId if this style does not match any existing style. Cached labels are accessed by text and styleId. If you are overriding getLabelTexture or getLabelTextureAsync and do not ensure the style is unique, you might not get the labels you expect. You can either set useSharedCache = false, override this and set the extras field in TCachedLabelStyle, or set styleId directly

    Returns TCachedLabelStyle

getLabelHeight

  • getLabelHeight(ctx: CanvasRenderingContext2D, labelText: string, labelStyle: TTextStyle): number
  • Called during axis layout to get the height of the label

    Parameters

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelText: string

      the text of the label

    • labelStyle: TTextStyle

      the style of the label

    Returns number

    the label height in pixels

Protected getLabelRange

  • Return a range string, based on the numeric range of the axis. This will be used to choose which formatting to use

    Parameters

    • timeRange: number
    • ticksNumber: number

    Returns ETradeChartLabelFormat | string

Protected getLabelSizesNative

  • getLabelSizesNative(labels: string[], textStyle: TTextStyle): void

getLabelTexture

  • getLabelTexture(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }
  • Create a texture for the given label text. This method is called if useNativeText is false. If overriding this method with useSharedCache = true, consider setting it false for this LabelProvider, otherwise other axes using the same style and text may see your custom texture. Alternatively you can override getCachedStyle or set styleId directly

    Parameters

    Returns { bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }

    • bitmapTexture: TSRTexture
    • textureHeight: number
    • textureWidth: number

getLabelTextureAsync

  • getLabelTextureAsync(labelText: string, textureManager: TextureManager, labelStyle: TTextStyle): Promise<{ bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }>
  • deprecated

    AsyncLabels have been removed. useNativeText: true provides much greater performance benefit. If using texture labels override getLabelTexture instead

    Parameters

    Returns Promise<{ bitmapTexture: TSRTexture; textureHeight: number; textureWidth: number }>

getLabelWidth

  • getLabelWidth(ctx: CanvasRenderingContext2D, labelText: string, labelStyle?: TTextStyle): number
  • Called during axis layout to get the width of the label

    Parameters

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelText: string

      the text of the label

    • Optional labelStyle: TTextStyle

      the style of the label

    Returns number

    the label width in pixels

getLabels

  • getLabels(majorTicks: number[]): string[]
  • inheritdoc

    Parameters

    • majorTicks: number[]

    Returns string[]

getMaxLabelHeightForHorizontalAxis

  • getMaxLabelHeightForHorizontalAxis(majorTickLabels: string[], ctx: CanvasRenderingContext2D, labelStyle: TTextStyle): number
  • Called during axis layout to get the maximum height of labels on a horizontal axis. Normally this calls getLabelHeight for each label and returns the largest.

    Parameters

    • majorTickLabels: string[]

      an array of text labels

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelStyle: TTextStyle

      the style of the labels

    Returns number

    the maximum label height in pixels

getMaxLabelWidthForVerticalAxis

  • getMaxLabelWidthForVerticalAxis(majorTickLabels: string[], ctx: CanvasRenderingContext2D, labelStyle: TTextStyle): number
  • Called during axis layout to get the maximum width of labels on a vertical axis. Normally this calls getLabelWidth for each label and returns the largest.

    Parameters

    • majorTickLabels: string[]

      an array of text labels

    • ctx: CanvasRenderingContext2D

      the CanvasRenderingContext2D which can be used to perform text measurment

    • labelStyle: TTextStyle

      the style of the labels

    Returns number

    the maximum label width in pixels

getNativeLabelInfo

  • getNativeLabelInfo(labelText: string): LabelInfo

invalidateCache

  • invalidateCache(): void

Protected invalidateParent

  • invalidateParent(): void

onBeginAxisDraw

  • onBeginAxisDraw(): void
  • inheritdoc

    Returns void

resetCache

  • resetCache(): void

toJSON

  • toJSON(): { options: {}; type: string }

Generated using TypeDoc