sy-gantt-chart

Gantt

Arrange task durations and progress on a timeline.

sy-gantt-chart

Manage project schedules, milestones, and baselines together.

This display example does not save tasks. Connect application persistence to editing events to save changes.

Base chart tier: Pro. Features such as additional renderers and custom branding have separate entitlement requirements.

InputData description
dataAn array of tasks as { id, label, start, end?, progress?, milestone?, baseline? }. progress ranges from 0 to 1.

Complete implementation example

html
<div id="chart-container" style="width: 100%; min-width: 0;"></div>

<script type="module">
  import { defineCustomElement as define0 } from '@syidax/advanced-pro/components/sy-gantt-chart.js';
  define0();

  // Pro: complete registerLicense at app startup using your issued certificate.
  // The website preview certificate is not for use in customer apps.
  const specs = [
    {
      "id": "example-chart",
      "tag": "sy-gantt-chart",
      "props": {
        "data": [
          {
            "id": "research",
            "label": "Research",
            "start": "2026-01-05",
            "end": "2026-01-09",
            "progress": 1,
            "color": "#8263d9"
          },
          {
            "id": "design",
            "label": "Design",
            "start": "2026-01-08",
            "end": "2026-01-16",
            "progress": 0.65,
            "color": "#239c91"
          },
          {
            "id": "build",
            "label": "Implementation",
            "start": "2026-01-14",
            "end": "2026-01-26",
            "progress": 0.3,
            "color": "#e99954"
          },
          {
            "id": "launch",
            "label": "Release",
            "start": "2026-01-28",
            "milestone": true
          }
        ],
        "width": 640,
        "height": 360,
        "brandPosition": "bottom-right",
        "brandLogo": ""
      }
    }
  ];
  const container = document.querySelector('#chart-container');
  const elements = specs.map(({ tag, id, props }) => {
    const element = document.createElement(tag);
    element.id = id;
    Object.assign(element, props);
    element.setAttribute('aria-label', 'gantt example chart');
    return element;
  });
  container.replaceChildren(...elements);
  const chart = elements.at(-1);
  const onEvent = event => {
    console.log('taskClick', event.detail);
  };
  chart.addEventListener('taskClick', onEvent);
  const observer = new ResizeObserver(([entry]) => {
    const width = Math.max(160, Math.floor(entry.contentRect.width));
    elements.forEach(element => { element.width = width; });
  });
  observer.observe(container);

  // In an SPA, call this function when the view is disposed.
  function disposeChart() {
    observer.disconnect();
    chart.removeEventListener('taskClick', onEvent);
    container.replaceChildren();
  }
</script>

Properties

data

An array of tasks as { id, label, start, end?, progress?, milestone?, baseline? }. progress ranges from 0 to 1.

ItemValue
JavaScript propertydata
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttData
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

width

Chart width in pixels. If the container width changes, update width from a ResizeObserver.

ItemValue
JavaScript propertywidth
HTML attributewidth
Typenumber
Default900

height

Chart height in pixels. Allow space for axes, titles, and the legend.

ItemValue
JavaScript propertyheight
HTML attributeheight
Typenumber
Default400

brandPosition

The corner where the logo is anchored. Community and Pro both support all four corners, using the same position on screen and in image exports.

ItemValue
JavaScript propertybrandPosition
HTML attributebrand-position
Type'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
Default'bottom-right'
Allowed valuestop-left, top-right, bottom-left, bottom-right

barHeight

Maximum task bar height and gap in CSS pixels.

ItemValue
JavaScript propertybarHeight
HTML attributebar-height
Typenumber
Default24

rowGap

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyrowGap
HTML attributerow-gap
Typenumber
Default4

barRadius

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertybarRadius
HTML attributebar-radius
Typenumber
Default3

progressShow

Set as an HTML attribute or JavaScript property. type: boolean.

ItemValue
JavaScript propertyprogressShow
HTML attributeprogress-show
Typeboolean
Defaulttrue

progressColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertyprogressColor
HTML attributeprogress-color
Typestring
Default'auto'

taskLabelFormat

Pass as a JavaScript property. type: (task:GanttTask)=>string.

ItemValue
JavaScript propertytaskLabelFormat
HTML attributePass objects, arrays, and callbacks as JavaScript properties
Type(task:GanttTask)=>string
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

timeDomain

Optional full timeline extent in epoch milliseconds.

ItemValue
JavaScript propertytimeDomain
HTML attributePass objects, arrays, and callbacks as JavaScript properties
Typereadonly [number, number]
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

criticalPath

Pass as a JavaScript property. type: GanttCriticalPathInput.

ItemValue
JavaScript propertycriticalPath
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttCriticalPathInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

taskEditing

Opt-in task move/resize. Committed local edits are queried through getTasks/getTaskEdits; source updates supersede them.

ItemValue
JavaScript propertytaskEditing
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttTaskEditingInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

baseline

Reference-date strips, visible by default when tasks include baseline dates.

ItemValue
JavaScript propertybaseline
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttBaselineStyleInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

dependencies

Pass as a JavaScript property. type: ReadonlyArray<GanttDependencyInput>.

ItemValue
JavaScript propertydependencies
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeReadonlyArray<GanttDependencyInput>
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

dependencyStyle

Pass as a JavaScript property. type: GanttDependencyStyleInput.

ItemValue
JavaScript propertydependencyStyle
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttDependencyStyleInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

timeAxis

Pass as a JavaScript property. type: GanttTimeAxisInput.

ItemValue
JavaScript propertytimeAxis
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttTimeAxisInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

crosshair

Pass as a JavaScript property. type: CartesianCrosshairInput.

ItemValue
JavaScript propertycrosshair
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianCrosshairInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

crosshairTimeUnit

Crosshair time badge precision; hour by default. Uses timeAxis.utc without changing event timestamps.

ItemValue
JavaScript propertycrosshairTimeUnit
HTML attributecrosshair-time-unit
TypeGanttCrosshairTimeUnit
Default'hour'
Allowed valuesyear, month, week, day, hour, minute, second

color

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertycolor
HTML attributecolor
Typestring
Default'auto'

activeColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertyactiveColor
HTML attributeactive-color
Typestring
Default'#f59e0b'

taskLabels

Allowed values: auto, show, hide. Default: 'auto'.

ItemValue
JavaScript propertytaskLabels
HTML attributetask-labels
TypeGanttLabelMode
Default'auto'
Allowed valuesauto, show, hide

chartTitle

The title inside the chart. Explain the data's unit and meaning alongside it.

ItemValue
JavaScript propertychartTitle
HTML attributechart-title
Typestring
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

chartSubtitle

The subtitle inside the chart.

ItemValue
JavaScript propertychartSubtitle
HTML attributechart-subtitle
Typestring
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

enableMouseTracking

Set as an HTML attribute or JavaScript property. type: boolean.

ItemValue
JavaScript propertyenableMouseTracking
HTML attributeenable-mouse-tracking
Typeboolean
Defaulttrue

tooltip

Tooltip settings for pointer-driven values, position, and content.

ItemValue
JavaScript propertytooltip
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianTooltipInput
Defaultundefined
Literals in the typeauto, off

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

tooltipEnabled

Set as an HTML attribute or JavaScript property. type: boolean.

ItemValue
JavaScript propertytooltipEnabled
HTML attributetooltip-show
Typeboolean
Defaulttrue

tooltipFormat

Pass as a JavaScript property. type: (detail: GanttHitDetail) => string.

ItemValue
JavaScript propertytooltipFormat
HTML attributePass objects, arrays, and callbacks as JavaScript properties
Type(detail: GanttHitDetail) => string
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

animated

Whether to animate initial display and data changes.

ItemValue
JavaScript propertyanimated
HTML attributeanimate
Typeboolean
Defaultfalse

animationDuration

Animation duration in milliseconds.

ItemValue
JavaScript propertyanimationDuration
HTML attributeanimation-duration
Typenumber
Default600

animationEasing

Allowed values: linear, ease-out, ease-in, ease-in-out. Default: 'ease-out'.

ItemValue
JavaScript propertyanimationEasing
HTML attributeanimation-easing
TypeGanttEasing
Default'ease-out'
Allowed valueslinear, ease-out, ease-in, ease-in-out

animationType

Allowed values: initial, update. Default: undefined.

ItemValue
JavaScript propertyanimationType
HTML attributeanimation-type
TypeGanttAnimationType
Defaultundefined
Allowed valuesinitial, update

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamSource

A stream source for live data. Check the contract for the specific type.

ItemValue
JavaScript propertystreamSource
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeGanttStreamSource
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamMax

The maximum number of streaming data points to retain.

ItemValue
JavaScript propertystreamMax
HTML attributestream-max
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamWindow

The streaming data range to keep visible.

ItemValue
JavaScript propertystreamWindow
HTML attributestream-window
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

zoom

Settings for zooming and the visible range.

ItemValue
JavaScript propertyzoom
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianZoomInput
Defaultundefined
Literals in the typeauto, off, true, false, x, y, xy, inside

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

engine

Renderer selection: auto, standard, or pro. Engine selection is separate from permission to use a Pro chart type.

ItemValue
JavaScript propertyengine
HTML attributeengine
TypeGanttEngineMode
Default'auto'
Allowed valuesauto, standard, pro

unavailable

Allowed values: fallback, error. Default: 'fallback'.

ItemValue
JavaScript propertyunavailable
HTML attributeunavailable
TypeGanttUnavailableBehaviour
Default'fallback'
Allowed valuesfallback, error

Events

rendered

Emits rendering results in detail when chart drawing completes.

Event name: rendered. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttRenderResult & { tier: GanttEngineTier }>.

javascript
chart.addEventListener('rendered', event => {
  console.log(event.detail); // GanttRenderResult & { tier: GanttEngineTier }
});

dependencyClick

CustomEvent.detail type: GanttDependencyHitDetail. Event names are case-sensitive.

Event name: dependencyClick. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttDependencyHitDetail>.

javascript
chart.addEventListener('dependencyClick', event => {
  console.log(event.detail); // GanttDependencyHitDetail
});

dependencyHover

CustomEvent.detail type: GanttDependencyHitDetail | null. Event names are case-sensitive.

Event name: dependencyHover. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttDependencyHitDetail | null>.

javascript
chart.addEventListener('dependencyHover', event => {
  console.log(event.detail); // GanttDependencyHitDetail | null
});

dependencySelectionChange

CustomEvent.detail type: GanttDependencySelectionChange. Event names are case-sensitive.

Event name: dependencySelectionChange. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttDependencySelectionChange>.

javascript
chart.addEventListener('dependencySelectionChange', event => {
  console.log(event.detail); // GanttDependencySelectionChange
});

taskClick

CustomEvent.detail type: GanttHitDetail. Event names are case-sensitive.

Event name: taskClick. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttHitDetail>.

javascript
chart.addEventListener('taskClick', event => {
  console.log(event.detail); // GanttHitDetail
});

taskHover

CustomEvent.detail type: GanttHitDetail | null. Event names are case-sensitive.

Event name: taskHover. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttHitDetail | null>.

javascript
chart.addEventListener('taskHover', event => {
  console.log(event.detail); // GanttHitDetail | null
});

taskEditStart

CustomEvent.detail type: GanttTaskEditEventDetail. Event names are case-sensitive.

Event name: taskEditStart. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttTaskEditEventDetail>.

javascript
chart.addEventListener('taskEditStart', event => {
  console.log(event.detail); // GanttTaskEditEventDetail
});

taskEditMove

CustomEvent.detail type: GanttTaskEditEventDetail. Event names are case-sensitive.

Event name: taskEditMove. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttTaskEditEventDetail>.

javascript
chart.addEventListener('taskEditMove', event => {
  console.log(event.detail); // GanttTaskEditEventDetail
});

taskEditEnd

Cancelable before local dates, completion and row order commit. preventDefault restores the prior state.

Event name: taskEditEnd. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttTaskEditEventDetail>.

javascript
chart.addEventListener('taskEditEnd', event => {
  console.log(event.detail); // GanttTaskEditEventDetail
});

taskEditCancel

CustomEvent.detail type: GanttTaskEditEventDetail. Event names are case-sensitive.

Event name: taskEditCancel. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttTaskEditEventDetail>.

javascript
chart.addEventListener('taskEditCancel', event => {
  console.log(event.detail); // GanttTaskEditEventDetail
});

selectionChanged

CustomEvent.detail type: GanttSelectionChangeEventDetail. Event names are case-sensitive.

Event name: selectionChanged. Names are case-sensitive. Read the payload from detail on CustomEvent<GanttSelectionChangeEventDetail>.

javascript
chart.addEventListener('selectionChanged', event => {
  console.log(event.detail); // GanttSelectionChangeEventDetail
});

pointContextMenu

CustomEvent.detail type: ChartPointContextMenuEventDetail<GanttHitDetail>. Event names are case-sensitive.

Event name: pointContextMenu. Names are case-sensitive. Read the payload from detail on CustomEvent<ChartPointContextMenuEventDetail<GanttHitDetail>>.

javascript
chart.addEventListener('pointContextMenu', event => {
  console.log(event.detail); // ChartPointContextMenuEventDetail<GanttHitDetail>
});

appended

CustomEvent.detail type: { count: number; replaced: number }. Event names are case-sensitive.

Event name: appended. Names are case-sensitive. Read the payload from detail on CustomEvent<{ count: number; replaced: number }>.

javascript
chart.addEventListener('appended', event => {
  console.log(event.detail); // { count: number; replaced: number }
});

windowSlid

CustomEvent.detail type: { dropped: number }. Event names are case-sensitive.

Event name: windowSlid. Names are case-sensitive. Read the payload from detail on CustomEvent<{ dropped: number }>.

javascript
chart.addEventListener('windowSlid', event => {
  console.log(event.detail); // { dropped: number }
});

tooltipShow

Whether to display the built-in tooltip.

Event name: tooltipShow. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipEventDetail>.

javascript
chart.addEventListener('tooltipShow', event => {
  console.log(event.detail); // CartesianTooltipEventDetail
});

tooltipHide

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: tooltipHide. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('tooltipHide', event => {
  console.log(event.detail); // void
});

tooltipAction

CustomEvent.detail type: CartesianTooltipActionEventDetail. Event names are case-sensitive.

Event name: tooltipAction. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipActionEventDetail>.

javascript
chart.addEventListener('tooltipAction', event => {
  console.log(event.detail); // CartesianTooltipActionEventDetail
});

chartAnimationStart

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationStart. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationStart', event => {
  console.log(event.detail); // void
});

chartAnimationEnd

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationEnd. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationEnd', event => {
  console.log(event.detail); // void
});

chartAnimationInterrupted

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationInterrupted. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationInterrupted', event => {
  console.log(event.detail); // void
});

zoomChange

CustomEvent.detail type: CartesianZoomChangeEventDetail. Event names are case-sensitive.

Event name: zoomChange. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianZoomChangeEventDetail>.

javascript
chart.addEventListener('zoomChange', event => {
  console.log(event.detail); // CartesianZoomChangeEventDetail
});

crosshairMove

CustomEvent.detail type: CartesianCrosshairEventDetail | null. Event names are case-sensitive.

Event name: crosshairMove. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianCrosshairEventDetail | null>.

javascript
chart.addEventListener('crosshairMove', event => {
  console.log(event.detail); // CartesianCrosshairEventDetail | null
});

Methods

getCriticalPath

An asynchronous method. Check the argument and return types below.

typescript
getCriticalPath(): Promise<GanttCriticalPathResult>

Return type: Promise<GanttCriticalPathResult>. Call the method after element registration and await its Promise result.

getDependencies

An asynchronous method. Check the argument and return types below.

typescript
getDependencies(): Promise<GanttDependencyDataset>

Return type: Promise<GanttDependencyDataset>. Call the method after element registration and await its Promise result.

getDependencyPaths

An asynchronous method. Check the argument and return types below.

typescript
getDependencyPaths(): Promise<GanttDependencyPath[]>

Return type: Promise<GanttDependencyPath[]>. Call the method after element registration and await its Promise result.

hitTestDependency

An asynchronous method. Check the argument and return types below.

typescript
hitTestDependency(cssX: number, cssY: number): Promise<GanttDependencyHitDetail|null>
ArgumentsTypeRequired
cssXnumberRequired
cssYnumberRequired

Return type: Promise<GanttDependencyHitDetail|null>. Call the method after element registration and await its Promise result.

getDependencySelection

An asynchronous method. Check the argument and return types below.

typescript
getDependencySelection(): Promise<GanttDependencySelection>

Return type: Promise<GanttDependencySelection>. Call the method after element registration and await its Promise result.

selectDependencyAt

An asynchronous method. Check the argument and return types below.

typescript
selectDependencyAt(index: number): Promise<GanttDependencyHitDetail|null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<GanttDependencyHitDetail|null>. Call the method after element registration and await its Promise result.

showDependencyTooltipAtIndex

An asynchronous method. Check the argument and return types below.

typescript
showDependencyTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail|null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<CartesianTooltipEventDetail|null>. Call the method after element registration and await its Promise result.

redraw

Redraw the chart using its current data and options. Inspect the rendered result after the returned Promise resolves.

typescript
redraw(): Promise<GanttRenderResult>

Return type: Promise<GanttRenderResult>. Call the method after element registration and await its Promise result.

getEngineStatus

Requested engine vs what runs, and why (CHART-ADD-08); a frozen or unlicensed chart reports the license outcome.

typescript
getEngineStatus(): Promise<ChartEngineStatus>

Return type: Promise<ChartEngineStatus>. Call the method after element registration and await its Promise result.

getActiveTier

An asynchronous method. Check the argument and return types below.

typescript
getActiveTier(): Promise<GanttEngineTier>

Return type: Promise<GanttEngineTier>. Call the method after element registration and await its Promise result.

getUnavailableReason

Why the WebGPU renderer could not run (the fallback notice's reason); undefined when nothing fell back.

typescript
getUnavailableReason(): Promise<string | undefined>

Return type: Promise<string | undefined>. Call the method after element registration and await its Promise result.

setData

Replace the bar set.

typescript
setData(data: GanttData): Promise<void>
ArgumentsTypeRequired
dataGanttDataRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

getTasks

An asynchronous method. Check the argument and return types below.

typescript
getTasks(): Promise<GanttTask[]>

Return type: Promise<GanttTask[]>. Call the method after element registration and await its Promise result.

getTask

An asynchronous method. Check the argument and return types below.

typescript
getTask(index: number): Promise<GanttTask | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<GanttTask | null>. Call the method after element registration and await its Promise result.

getTaskById

An asynchronous method. Check the argument and return types below.

typescript
getTaskById(id: string): Promise<GanttTask | null>
ArgumentsTypeRequired
idstringRequired

Return type: Promise<GanttTask | null>. Call the method after element registration and await its Promise result.

getDiagnostics

Normalization diagnostics for the effective base and stream source.

typescript
getDiagnostics(): Promise<GanttDiagnostics>

Return type: Promise<GanttDiagnostics>. Call the method after element registration and await its Promise result.

getTaskCount

An asynchronous method. Check the argument and return types below.

typescript
getTaskCount(): Promise<number>

Return type: Promise<number>. Call the method after element registration and await its Promise result.

getExtent

An asynchronous method. Check the argument and return types below.

typescript
getExtent(): Promise<GanttExtent>

Return type: Promise<GanttExtent>. Call the method after element registration and await its Promise result.

getLayout

Host-local geometry as shown. Scale fields preserve ellipses under non-uniform viewport zoom.

typescript
getLayout(): Promise<GanttLayoutResult>

Return type: Promise<GanttLayoutResult>. Call the method after element registration and await its Promise result.

getBaselines

Reference comparisons for every accepted task, including hidden/offscreen baselines. Positive variance means later or longer.

typescript
getBaselines(): Promise<GanttBaselineComparison[]>

Return type: Promise<GanttBaselineComparison[]>. Call the method after element registration and await its Promise result.

appendPoint

Append one value to the stream. Check the argument type and the licensing requirements for streaming.

typescript
appendPoint(task: GanttTaskInput): Promise<void>
ArgumentsTypeRequired
taskGanttTaskInputRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

appendBatch

Append multiple values to the stream. Check the argument type and the licensing requirements for streaming.

typescript
appendBatch(tasks: ReadonlyArray<GanttTaskInput>): Promise<void>
ArgumentsTypeRequired
tasksReadonlyArray<GanttTaskInput>Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

shift

Drop the oldest streamed categories (the data boxes are not the stream).

typescript
shift(count: number): Promise<void>
ArgumentsTypeRequired
countnumberRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

replace

Swap the streamed set (replace([]) clears it); the base values never leave. Without chart.streaming the dies upsert into the base like a batch (quietly: no appended, no binChanged, as a ring replace).

typescript
replace(tasks: ReadonlyArray<GanttTaskInput>): Promise<void>
ArgumentsTypeRequired
tasksReadonlyArray<GanttTaskInput>Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

getStreamSource

The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.

typescript
getStreamSource(): Promise<GanttStreamSource | undefined>

Return type: Promise<GanttStreamSource | undefined>. Call the method after element registration and await its Promise result.

pauseAnimation

Pause the current animation.

typescript
pauseAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

resumeAnimation

Resume a paused animation.

typescript
resumeAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

replayAnimation

Replay the initial sweep from min → value(s). No-op when animation is off / reduced.

typescript
replayAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

setAnimation

An asynchronous method. Check the argument and return types below.

typescript
setAnimation(options: { enabled?: boolean; duration?: number; easing?: GanttEasing; type?: GanttAnimationType }): Promise<void>
ArgumentsTypeRequired
options{ enabled?: boolean; duration?: number; easing?: GanttEasing; type?: GanttAnimationType }Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

hitTest

The box under a host-local CSS point (the nearest slot, within half a pitch), or null.

typescript
hitTest(cssX: number, cssY: number): Promise<GanttHitDetail | null>
ArgumentsTypeRequired
cssXnumberRequired
cssYnumberRequired

Return type: Promise<GanttHitDetail | null>. Call the method after element registration and await its Promise result.

selectTaskAt

An asynchronous method. Check the argument and return types below.

typescript
selectTaskAt(index: number): Promise<GanttHitDetail | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<GanttHitDetail | null>. Call the method after element registration and await its Promise result.

clearSelection

Release the selection (emits selectionChanged when there was one).

typescript
clearSelection(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

getSelection

The selection: the selected node's / link's detail (null = none); its anchors are Pro-derived, refused without a valid license.

typescript
getSelection(): Promise<GanttSelection>

Return type: Promise<GanttSelection>. Call the method after element registration and await its Promise result.

showTooltipAtIndex

open the tooltip on a box (the facade's showTooltipAtPoint routes here); null off the boxes or with the tooltip off.

typescript
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<CartesianTooltipEventDetail | null>. Call the method after element registration and await its Promise result.

showTooltipAtPoint

Open the tooltip for a dot programmatically. pointIndex is the category (row) index; the optional seriesIndex selects a group within that row (defaults to the first visible group's dot in the row). Returns the emitted tooltip detail, or null when no dot resolves / the tooltip is disabled.

typescript
showTooltipAtPoint(index: number): Promise<CartesianTooltipEventDetail | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<CartesianTooltipEventDetail | null>. Call the method after element registration and await its Promise result.

hideTooltip

Close the currently visible tooltip.

typescript
hideTooltip(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

getTaskEdits

Committed local dates, completion and displaced rows; never mutates caller data.

typescript
getTaskEdits(): Promise<GanttTaskEdit[]>

Return type: Promise<GanttTaskEdit[]>. Call the method after element registration and await its Promise result.

resetTaskEdits

An asynchronous method. Check the argument and return types below.

typescript
resetTaskEdits(id?: string): Promise<void>
ArgumentsTypeRequired
idstringOptional

Return type: Promise<void>. Call the method after element registration and await its Promise result.

cancelTaskEdit

An asynchronous method. Check the argument and return types below.

typescript
cancelTaskEdit(): Promise<boolean>

Return type: Promise<boolean>. Call the method after element registration and await its Promise result.

zoomTo

Zoom to an explicit millisecond x window. Task rows do not accept y zoom requests.

typescript
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
requestCartesianZoomRequestRequired

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

zoomBy

Scale the current windows by factor (< 1 zooms in) around anchorFraction (0..1, default centre).

typescript
zoomBy(factor: number, anchorFraction?: number): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
factornumberRequired
anchorFractionnumberOptional

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

panBy

Slide the zoomed windows by milliseconds ({ x?, y? }); a no-op at the full extent.

typescript
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
delta{ x?: number; y?: number }Required

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

resetZoom

Reset the zoomed or panned range to the original data range.

typescript
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

getZoom

Read the current zoom range. Check the return type's nullability and the range for each axis.

typescript
getZoom(): Promise<CartesianZoomState | null>

Return type: Promise<CartesianZoomState | null>. Call the method after element registration and await its Promise result.

getZoomExtent

The full timestamp extent and axis key (null before the first layout).

typescript
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>
ArgumentsTypeRequired
requestCartesianZoomExtentRequestOptional

Return type: Promise<CartesianZoomExtentDetail | null>. Call the method after element registration and await its Promise result.

getDataTable

Current normalized table, including the retained stream; independent of GPU availability.

typescript
getDataTable(): Promise<ChartDataTable>

Return type: Promise<ChartDataTable>. Call the method after element registration and await its Promise result.

getLabels

the placed node labels in HOST-local CSS px as shown (the plot offset added; under a zoom the labels of the nodes outside the window are left out), shown or hidden with the reason.

typescript
getLabels(): Promise<GanttLabel[]>

Return type: Promise<GanttLabel[]>. Call the method after element registration and await its Promise result.

getTimeAxis

An asynchronous method. Check the argument and return types below.

typescript
getTimeAxis(): Promise<GanttTimeAxisModel>

Return type: Promise<GanttTimeAxisModel>. Call the method after element registration and await its Promise result.

showCrosshairAt

Quiet sync API: epoch milliseconds and a zero-based task row; no crosshairMove feedback loop.

typescript
showCrosshairAt(request: CartesianCrosshairShowRequest): Promise<boolean>
ArgumentsTypeRequired
requestCartesianCrosshairShowRequestRequired

Return type: Promise<boolean>. Call the method after element registration and await its Promise result.

hideCrosshair

hide the crosshair shown by showCrosshairAt (or the pointer's).

typescript
hideCrosshair(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.