Plugin And Configuration
This page documents 47 public symbols exported by @revolist/revogrid-enterprise.
createGanttDateFormatContext
Section titled “createGanttDateFormatContext”function
export function createGanttDateFormatContext(project: Pick<GanttPluginConfig, 'timeZone' | 'dateFormats'> | null | undefined, surface: GanttDateFormatSurface, field?: string, fallbackLocale = 'en-US'): GanttDateFormatContext;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | Pick<GanttPluginConfig, "timeZone" | "dateFormats"> | null | undefined | Yes | — | |
surface | GanttDateFormatSurface | Yes | — | |
field | string | undefined | No | — | |
fallbackLocale | string | No | 'en-US' |
Related types: GanttDateFormatContext, GanttDateFormatSurface, GanttPluginConfig
createTaskGridConfig
Section titled “createTaskGridConfig”function
One-shot helper that runs the scheduling engine_and_ builds the full grid configuration (scale + projected rows) in a single call.
export function createTaskGridConfig(project: ProjectSnapshot, taskStore: TaskStore, resourceStore: ResourceStore, assignmentStore: AssignmentStore, zoomLevel: TimelineZoomLevel | TimelineZoomPreset, schedulerEngine: SchedulerEngine = createSchedulerEngine(), locale = 'en-US', defaultHeaderFormatter?: TimelineDateFormatter, projectionOptions: TaskRowProjectionOptions = {}, scaleOptions: TaskGridScaleOptions = {}): TaskGridConfig;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | ProjectSnapshot | Yes | — | - The resolved project snapshot. |
taskStore | TaskStore | Yes | — | - Task store instance. |
resourceStore | ResourceStore | Yes | — | - Resource store instance. |
assignmentStore | AssignmentStore | Yes | — | - Assignment store instance. |
zoomLevel | TimelineZoomLevel | TimelineZoomPreset | Yes | — | - Zoom level descriptor or named preset. |
schedulerEngine | SchedulerEngine | No | createSchedulerEngine() | - Optional pre-configured scheduler engine. |
locale | string | No | 'en-US' | - BCP 47 locale tag (default "en-US"). |
defaultHeaderFormatter | TimelineDateFormatter | undefined | No | — | - Optional custom header formatter. |
projectionOptions | TaskRowProjectionOptions | No | {} | - Optional row projection overrides. |
scaleOptions | TaskGridScaleOptions | No | {} |
Returns: A complete TaskGridConfig.
Related types: AssignmentStore, ProjectSnapshot, ResourceStore, SchedulerEngine, TaskGridConfig, TaskGridScaleOptions, TaskRowProjectionOptions, TaskStore, TimelineDateFormatter, TimelineZoomLevel, TimelineZoomPreset
createTaskGridScaleConfig
Section titled “createTaskGridScaleConfig”function
Build the timeline scale configuration from a scheduling result and zoom level.
Determines the visible date range, creates the timeline scale, and derives the header rows, ticks, bands, and visible range for the gantt view-model.
export function createTaskGridScaleConfig(schedulingResult: SchedulingResult, zoomLevelOrPreset: TimelineZoomLevel | TimelineZoomPreset, locale = 'en-US', defaultHeaderFormatter?: TimelineDateFormatter, options: TaskGridScaleOptions = {}): TaskGridScaleConfig;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
schedulingResult | SchedulingResult | Yes | — | - The output of the scheduling engine. |
zoomLevelOrPreset | TimelineZoomLevel | TimelineZoomPreset | Yes | — | - A concrete zoom level descriptor or a named preset string. |
locale | string | No | 'en-US' | - BCP 47 locale tag used for date formatting (default "en-US"). |
defaultHeaderFormatter | TimelineDateFormatter | undefined | No | — | - Optional custom formatter for header cell labels. |
options | TaskGridScaleOptions | No | {} |
Returns: A TaskGridScaleConfig ready for rendering.
Related types: SchedulingResult, TaskGridScaleConfig, TaskGridScaleOptions, TimelineDateFormatter, TimelineZoomLevel, TimelineZoomPreset
createTaskGridSource
Section titled “createTaskGridSource”function
Project tasks into grid rows using a pre-built timeline scale.
export function createTaskGridSource(project: ProjectSnapshot, taskStore: TaskStore, resourceStore: ResourceStore, assignmentStore: AssignmentStore, scale: TimelineScale, schedulingResult: SchedulingResult, projectionOptions: TaskRowProjectionOptions = {}): readonly DataType[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | ProjectSnapshot | Yes | — | - The resolved project snapshot. |
taskStore | TaskStore | Yes | — | - The task store providing the ordered task list. |
resourceStore | ResourceStore | Yes | — | - The resource store for resource name lookups. |
assignmentStore | AssignmentStore | Yes | — | - The assignment store for task–resource links. |
scale | TimelineScale | Yes | — | - The timeline scale used for coordinate projection. |
schedulingResult | SchedulingResult | Yes | — | - The scheduling engine output. |
projectionOptions | TaskRowProjectionOptions | No | {} | - Optional overrides for row projection behaviour. |
Returns: An array of data rows suitable for the grid source.
Related types: AssignmentStore, ProjectSnapshot, ResourceStore, SchedulingResult, TaskRowProjectionOptions, TaskStore, TimelineScale
formatGanttDateWithOption
Section titled “formatGanttDateWithOption”function
export function formatGanttDateWithOption(value: string | null | undefined, option: GanttDateFormatOption | undefined, context: GanttDateFormatContext): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | null | undefined | Yes | — | |
option | GanttDateFormatOption | undefined | Yes | — | |
context | GanttDateFormatContext | Yes | — |
Related types: GanttDateFormatContext, GanttDateFormatOption
formatGanttEditorDate
Section titled “formatGanttEditorDate”function
export function formatGanttEditorDate(value: string | null | undefined, project: Pick<GanttPluginConfig, 'timeZone' | 'dateFormats'> | null | undefined, field?: string): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | null | undefined | Yes | — | |
project | Pick<GanttPluginConfig, "timeZone" | "dateFormats"> | null | undefined | Yes | — | |
field | string | undefined | No | — |
Related types: GanttPluginConfig
formatGanttTableDate
Section titled “formatGanttTableDate”function
export function formatGanttTableDate(value: string | null | undefined, project: Pick<GanttPluginConfig, 'timeZone' | 'dateFormats'> | null | undefined, field?: string): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | null | undefined | Yes | — | |
project | Pick<GanttPluginConfig, "timeZone" | "dateFormats"> | null | undefined | Yes | — | |
field | string | undefined | No | — |
Related types: GanttPluginConfig
formatGanttTooltipDate
Section titled “formatGanttTooltipDate”function
export function formatGanttTooltipDate(value: string, project: Pick<GanttPluginConfig, 'timeZone' | 'dateFormats'> | null | undefined, field?: string): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | Yes | — | |
project | Pick<GanttPluginConfig, "timeZone" | "dateFormats"> | null | undefined | Yes | — | |
field | string | undefined | No | — |
Related types: GanttPluginConfig
GANTT_DEPENDENCY_DROPDOWN_COLUMN_TYPE
Section titled “GANTT_DEPENDENCY_DROPDOWN_COLUMN_TYPE”constant
export const GANTT_DEPENDENCY_DROPDOWN_COLUMN_TYPE: "gantt-dependency-dropdown";GanttConstraintTypeOption
Section titled “GanttConstraintTypeOption”type
export type GanttConstraintTypeOption = '' | TaskConstraintType;Related types: TaskConstraintType
GanttContextMenuConfig
Section titled “GanttContextMenuConfig”interface
export interface GanttContextMenuConfig { /** * Enables generated task row and task bar actions such as Add, Indent, * Outdent, and Delete. Defaults to `true`. */ readonly row?: boolean; /** * Enables generated task-table column actions and pinned timeline zoom * actions. Defaults to `true`. */ readonly column?: boolean; /** Label overrides for built-in Gantt context-menu items. */ readonly labels?: GanttContextMenuLabels; /** Hide specific built-in Gantt context-menu items by id. */ readonly hidden?: GanttContextMenuHiddenItems;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
row | boolean | undefined | No | — | Enables generated task row and task bar actions such as Add, Indent, Outdent, and Delete. Defaults to true. |
column | boolean | undefined | No | — | Enables generated task-table column actions and pinned timeline zoom actions. Defaults to true. |
labels | Partial<Record<GanttContextMenuItemId, string>> | undefined | No | — | Label overrides for built-in Gantt context-menu items. |
hidden | Partial<Record<GanttContextMenuItemId, boolean>> | undefined | No | — | Hide specific built-in Gantt context-menu items by id. |
Related types: GanttContextMenuHiddenItems, GanttContextMenuLabels
GanttContextMenuHiddenItems
Section titled “GanttContextMenuHiddenItems”type
export type GanttContextMenuHiddenItems = Partial<Record<GanttContextMenuItemId, boolean>>;Related types: GanttContextMenuItemId
GanttContextMenuItemId
Section titled “GanttContextMenuItemId”type
export type GanttContextMenuItemId = | 'edit' | 'add' | 'convertToMilestone' | 'indent' | 'outdent' | 'delete' | 'search' | 'sortAsc' | 'sortDesc' | 'filter' | 'hideColumn' | 'columns' | 'zoomIn' | 'zoomOut';GanttContextMenuLabels
Section titled “GanttContextMenuLabels”type
export type GanttContextMenuLabels = Partial<Record<GanttContextMenuItemId, string>>;Related types: GanttContextMenuItemId
GanttCreateTaskOptions
Section titled “GanttCreateTaskOptions”interface
Options for programmatic task creation via the {@link GANTT_TASK_CREATE_EVENT} event.
export interface GanttCreateTaskOptions { /** Parent task id, or `null` for a root-level task. */ readonly parentId?: TaskId | null; /** Insert the new task after this sibling. */ readonly insertAfterTaskId?: TaskId | null; /** Initial start date. */ readonly startDate?: ISODateString; /** Initial end date. */ readonly endDate?: ISODateString; /** Initial task name. */ readonly name?: string; /** Initial custom source-row values used when creating a task. */ readonly initialValues?: DataType; /** * Whether task-created listeners such as the packaged editor should open a * follow-up UI for the new task. Defaults to `true`. */ readonly openEditor?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
parentId | string | null | undefined | No | — | Parent task id, or null for a root-level task. |
insertAfterTaskId | string | null | undefined | No | — | Insert the new task after this sibling. |
startDate | ISODateString | undefined | No | — | Initial start date. |
endDate | ISODateString | undefined | No | — | Initial end date. |
name | string | undefined | No | — | Initial task name. |
initialValues | DataType | undefined | No | — | Initial custom source-row values used when creating a task. |
openEditor | boolean | undefined | No | — | Whether task-created listeners such as the packaged editor should open a follow-up UI for the new task. Defaults to true. |
Related types: TaskId
GanttDateEditorFormatConfig
Section titled “GanttDateEditorFormatConfig”interface
export interface GanttDateEditorFormatConfig { readonly formatter?: GanttDateFormatter; readonly parser?: GanttDateParser; readonly options?: Intl.DateTimeFormatOptions;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
formatter | GanttDateFormatter | undefined | No | — | |
parser | GanttDateParser | undefined | No | — | |
options | Intl.DateTimeFormatOptions | undefined | No | — |
Related types: GanttDateFormatter, GanttDateParser
GanttDateFormatConfig
Section titled “GanttDateFormatConfig”interface
export interface GanttDateFormatConfig { /** BCP 47 locale tag used by Intl-based Gantt date formatting. */ readonly locale?: string; /** IANA time zone used by Intl-based Gantt date formatting. Defaults to the project time zone. */ readonly timeZone?: string; /** Managed task-table date cell format. Defaults to locale-aware medium date output. */ readonly table?: GanttDateFormatOption; /** Task-bar tooltip date format. Omit to keep the existing UTC tooltip labels. */ readonly tooltip?: GanttDateFormatOption; /** Task editor date display/parser configuration. */ readonly editor?: GanttDateEditorFormatConfig; /** Timeline header formatter. Preferred over `zoom.defaultHeaderFormatter` when set. */ readonly timeline?: TimelineDateFormatter; /** Fallback parser for custom table/editor date text. */ readonly parser?: GanttDateParser;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
locale | string | undefined | No | — | BCP 47 locale tag used by Intl-based Gantt date formatting. |
timeZone | string | undefined | No | — | IANA time zone used by Intl-based Gantt date formatting. Defaults to the project time zone. |
table | GanttDateFormatOption | undefined | No | — | Managed task-table date cell format. Defaults to locale-aware medium date output. |
tooltip | GanttDateFormatOption | undefined | No | — | Task-bar tooltip date format. Omit to keep the existing UTC tooltip labels. |
editor | GanttDateEditorFormatConfig | undefined | No | — | Task editor date display/parser configuration. |
timeline | TimelineDateFormatter | undefined | No | — | Timeline header formatter. Preferred over zoom.defaultHeaderFormatter when set. |
parser | GanttDateParser | undefined | No | — | Fallback parser for custom table/editor date text. |
Related types: GanttDateEditorFormatConfig, GanttDateFormatOption, GanttDateParser, TimelineDateFormatter
GanttDateFormatContext
Section titled “GanttDateFormatContext”interface
export interface GanttDateFormatContext { readonly surface: GanttDateFormatSurface; readonly field?: string; readonly locale: string; readonly timeZone: string; readonly levelId?: string; readonly rowId?: string; readonly unit?: string; readonly count?: number; readonly rowIndex?: number; readonly isLeafRow?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
surface | GanttDateFormatSurface | Yes | — | |
field | string | undefined | No | — | |
locale | string | Yes | — | |
timeZone | string | Yes | — | |
levelId | string | undefined | No | — | |
rowId | string | undefined | No | — | |
unit | string | undefined | No | — | |
count | number | undefined | No | — | |
rowIndex | number | undefined | No | — | |
isLeafRow | boolean | undefined | No | — |
Related types: GanttDateFormatSurface
GanttDateFormatOption
Section titled “GanttDateFormatOption”type
export type GanttDateFormatOption = Intl.DateTimeFormatOptions | GanttDateFormatter;Related types: GanttDateFormatter
GanttDateFormatSurface
Section titled “GanttDateFormatSurface”type
export type GanttDateFormatSurface = 'table' | 'tooltip' | 'editor' | 'timeline';GanttDateFormatter
Section titled “GanttDateFormatter”type
export type GanttDateFormatter = ( value: ISODateString | ISODateTimeString | string, context: GanttDateFormatContext,) => string;Related types: GanttDateFormatContext
GanttDateParser
Section titled “GanttDateParser”type
export type GanttDateParser = ( value: string, context: GanttDateFormatContext,) => ISODateString | ISODateTimeString | null;Related types: GanttDateFormatContext
ganttDependencyDropdownCellTemplate
Section titled “ganttDependencyDropdownCellTemplate”constant
export const ganttDependencyDropdownCellTemplate: CellTemplate<DataType<any, ColumnProp>> | undefined;GanttDependencyDropdownEditor
Section titled “GanttDependencyDropdownEditor”class
export class GanttDependencyDropdownEditor { element?: HTMLElement | null | undefined; editCell?: EditCell | undefined; constructor(private readonly data: ColumnDataSchemaModel, private readonly saveCallback: (value: unknown, preventFocus?: boolean) => void, private readonly closeCallback: (focusNext?: boolean) => void); componentDidRender(): Promise<void>; getValue(): readonly GanttDependencyDropdownValue[]; disconnectedCallback(): void; render(createElement: HyperFunc<VNode>): VNode;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
element | HTMLElement | null | undefined | No | — | |
editCell | EditCell | undefined | No | — | |
host | HTMLElement | null | undefined | No | — | |
value | readonly GanttDependencyDropdownValue[] | Yes | — | |
mounted | boolean | Yes | false | |
closed | boolean | Yes | false | |
componentDidRender() | Promise<void> | Yes | — | |
getValue() | readonly GanttDependencyDropdownValue[] | Yes | — | |
disconnectedCallback() | void | Yes | — | |
render(createElement: HyperFunc<VNode>) | VNode | Yes | — | |
onChange(value: readonly GanttDependencyDropdownValue[]) | void | Yes | — | |
closeEditor(focusNext?: boolean) | void | Yes | — |
Related types: GanttDependencyDropdownValue
GanttDependencyTooltipContext
Section titled “GanttDependencyTooltipContext”interface
Context supplied when building dependency-arrow tooltip content.
export interface GanttDependencyTooltipContext { /** Dependency relationship under the pointer. */ readonly dependency: DependencyEntity; /** Predecessor/source task when present in the current task store. */ readonly predecessorTask: TaskEntity | null; /** Successor/target task when present in the current task store. */ readonly successorTask: TaskEntity | null; /** Display label used for the From row. Falls back to the predecessor task id. */ readonly predecessorName: string; /** Display label used for the To row. Falls back to the successor task id. */ readonly successorName: string; /** Newline-delimited default tooltip body. */ readonly defaultTooltip: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
dependency | DependencyEntity | Yes | — | Dependency relationship under the pointer. |
predecessorTask | TaskEntity | null | Yes | — | Predecessor/source task when present in the current task store. |
successorTask | TaskEntity | null | Yes | — | Successor/target task when present in the current task store. |
predecessorName | string | Yes | — | Display label used for the From row. Falls back to the predecessor task id. |
successorName | string | Yes | — | Display label used for the To row. Falls back to the successor task id. |
defaultTooltip | string | Yes | — | Newline-delimited default tooltip body. |
Related types: DependencyEntity, TaskEntity
GanttDependencyTooltipHook
Section titled “GanttDependencyTooltipHook”type
Callback that replaces dependency-arrow tooltip content.
Return null or undefined to keep the default From/To tooltip.
export type GanttDependencyTooltipHook = (context: GanttDependencyTooltipContext) => string | null | undefined;Related types: GanttDependencyTooltipContext
GanttLabelsConfig
Section titled “GanttLabelsConfig”interface
export interface GanttLabelsConfig { /** Labels for task mode dropdown values. */ readonly taskMode?: Partial<Record<GanttTaskModeOption, string>>; /** Labels for calculated task status values. */ readonly status?: Partial<Record<TaskStatus, string>>; /** Labels for editable workflow status values. */ readonly workflowStatus?: Partial<Record<TaskWorkflowStatus, string>>; /** Labels for effort mode dropdown values. */ readonly effortMode?: Partial<Record<TaskEffortMode, string>>; /** Labels for constraint type dropdown values. Use `''` for the no-constraint option. */ readonly constraintType?: Partial<Record<GanttConstraintTypeOption, string>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskMode | Partial<Record<GanttTaskModeOption, string>> | undefined | No | — | Labels for task mode dropdown values. |
status | Partial<Record<TaskStatus, string>> | undefined | No | — | Labels for calculated task status values. |
workflowStatus | Partial<Record<TaskWorkflowStatus, string>> | undefined | No | — | Labels for editable workflow status values. |
effortMode | Partial<Record<TaskEffortMode, string>> | undefined | No | — | Labels for effort mode dropdown values. |
constraintType | Partial<Record<GanttConstraintTypeOption, string>> | undefined | No | — | Labels for constraint type dropdown values. Use '' for the no-constraint option. |
Related types: GanttConstraintTypeOption, GanttTaskModeOption, TaskEffortMode, TaskStatus, TaskWorkflowStatus
GanttMilestoneLine
Section titled “GanttMilestoneLine”interface
A vertical flag line pinned to a specific date on the gantt timeline. Shows a cap/flag at the top of the canvas and a full-height vertical line.
export interface GanttMilestoneLine { /** Unique identifier. */ readonly id: string; /** Date the line is pinned to. */ readonly date: ISODateString; /** Label displayed on the flag cap. */ readonly label?: string; /** Optional CSS color for the line and flag (defaults to CSS variable). */ readonly color?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Unique identifier. |
date | ISODateString | Yes | — | Date the line is pinned to. |
label | string | undefined | No | — | Label displayed on the flag cap. |
color | string | undefined | No | — | Optional CSS color for the line and flag (defaults to CSS variable). |
GanttPlugin
Section titled “GanttPlugin”class
export class GanttPlugin extends CorePlugin { pluginDependencies: PluginDependency[]; constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders); applyGantt(config?: GanttPluginConfig): void; clearGantt(): void; destroy(): void; zoomIn(): boolean; zoomOut(): boolean; setZoomLevel(levelId: string): boolean; getZoomLevel(): TimelineZoomLevel; canZoomIn(): boolean; canZoomOut(): boolean; getVisibleRange(): { startDate: ISODateString; endDate: ISODateString; } | null; captureBaseline(options?: CaptureBaselineOptions): BaselineSnapshot | null; createTask(options?: GanttCreateTaskOptions): TaskId | null; updateTask(taskId: TaskId, patch: TaskUpdate): boolean; getProjectSnapshot(): ProjectSnapshot | null; finalizeTaskCreate(taskId: TaskId): boolean; discardTaskCreate(taskId: TaskId): boolean; indentTasks(taskIds?: readonly TaskId[]): readonly TaskId[]; indentTask(taskId?: TaskId): TaskId | null; outdentTasks(taskIds?: readonly TaskId[]): readonly TaskId[]; outdentTask(taskId?: TaskId): TaskId | null; convertTasksToMilestones(taskIds?: readonly TaskId[]): readonly TaskId[]; convertTaskToMilestone(taskId?: TaskId): TaskId | null; deleteTasks(taskIds?: readonly TaskId[]): readonly TaskId[]; deleteTask(taskId?: TaskId): TaskId | null;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
pluginDependencies | PluginDependency[] | Yes | [ { kind: 'auto-installed', target: { type: 'plugins', plugins: [() => OverlayPlugin, () => EventManagerPlugin, () => HistoryPlugin, () => TooltipPlugin, () => ContextMenuPlugin] }, description: 'Installs these Pro plugins internally when absent.', }, { kind: 'auto-installed', target: { type: 'plugins', plugins: [() => RowOrderPlugin, () => TreeDataPlugin, () => ColumnHidePlugin, () => ColumnDialogPlugin, () => GanttPanelResizePlugin, () => GanttTaskEditorDialogPlugin, () => GanttAddTaskRowPlugin, () => GanttTimelineHeaderPlugin] }, description: 'Installs these plugins internally for Gantt grid structure, row reordering, column visibility management, panel resizing, task editing, the pinned add-task row, and timeline header rendering.', }, { kind: 'auto-installed', target: { type: 'plugin', plugin: () => AdvanceFilterPlugin }, description: 'Installs advanced filtering when Gantt enables task-table filters after RevoGrid core plugin bootstrap.', }, { kind: 'config-integration', target: [ { type: 'contract', contract: 'direct-tree-config' }, { type: 'contract', contract: 'direct-event-manager-config' }, { type: 'contract', contract: 'direct-history-config' }, ], description: 'Reads and writes direct plugin config props while synchronizing Gantt state.', }, ] | |
tooltipSuppression | GanttTooltipSuppression | Yes | — | |
ganttConfig | GanttPluginConfig | null | Yes | null | |
gridState | GanttGridState | Yes | new GanttGridState() | |
schedulerEngine | SchedulerEngine | Yes | createSchedulerEngine() | |
dependencyLayoutService | DependencyLayoutService | Yes | createDependencyLayoutService() | |
gridSync | GanttGridSync | Yes | — | |
timelineHeaderPlugin | GanttTimelineHeaderPlugin | Yes | — | |
rowOrderState | GanttRowOrderState | Yes | — | |
searchTool | GanttSearchTool | Yes | — | |
historyTool | GanttHistoryTool | Yes | — | |
taskMutationService | DefaultTaskMutationService | Yes | createTaskMutationService() | |
assignmentMutationService | AssignmentMutationService | Yes | createAssignmentMutationService() | |
dependencyMutationService | DependencyMutationService | Yes | createDependencyMutationService() | |
isApplyingGridRows | boolean | Yes | false | |
resourcePlanningNameColumnEnabled | boolean | null | Yes | null | |
toolContext | GanttCoordinatorContext | Yes | — | |
taskBarsPlugin | GanttTaskBarsPlugin | Yes | — | |
addTaskRowPlugin | GanttAddTaskRowPlugin | Yes | — | |
timelineViewport | GanttTimelineViewportController | Yes | — | |
timelineBackgroundTool | TimelineBackgroundTool | Yes | — | |
taskSelectionTool | GanttTaskSelectionTool | Yes | — | |
selectionCoordinator | GanttSelectionCoordinator | Yes | — | |
calendarTool | CalendarTool | Yes | new CalendarTool() | |
timelineTool | TimelineTool | Yes | — | |
timelineState | TimelineViewState | Yes | new TimelineViewState() | |
baselineTool | BaselineTool | Yes | new BaselineTool() | |
criticalPathTool | CriticalPathTool | Yes | new CriticalPathTool() | |
assignmentsTool | AssignmentsTool | Yes | — | |
dependencyTool | DependencyTool | Yes | — | |
dependencyOverlayPlugin | GanttDependencyOverlayPlugin | Yes | — | |
contextMenuTool | GanttContextMenuTool | Yes | — | |
featureTools | readonly GanttFeatureTool[] | Yes | — | |
hasHydratedTaskRows | boolean | Yes | false | |
hasHydratedDependencies | boolean | Yes | false | |
hasHydratedAssignments | boolean | Yes | false | |
hasHydratedBaselines | boolean | Yes | false | |
externalDependencies | readonly DependencyEntity[] | undefined | Yes | — | |
externalCalendars | readonly CalendarEntity[] | undefined | Yes | — | |
externalResources | readonly ResourceEntity[] | undefined | Yes | — | |
externalAssignments | readonly AssignmentEntity[] | undefined | Yes | — | |
externalBaselines | readonly BaselineSnapshot[] | undefined | Yes | — | |
pendingTaskCreateSnapshots | Map<string, readonly DataType[]> | Yes | new Map<TaskId, readonly DataType[]>() | |
timelineHeaderRefreshFrame | number | null | Yes | null | |
viewportScrollRefreshFrame | number | null | Yes | null | |
rowOrderCommitTimer | number | null | Yes | null | |
pluginsInitialized | boolean | Yes | false | |
featureToolsSetup | boolean | Yes | false | |
onGridKeyDown | (event: CustomEvent<KeyboardEvent> | KeyboardEvent) => void | Yes | createKeyboardEventAdapter((event) => this.onKeyDown(event)) | |
onGridWheel | (event: WheelEvent) => void | Yes | (event: WheelEvent) => this.onWheel(event) | |
onGridNativeScroll | (event: Event) => void | Yes | (event: Event) => this.onNativeViewportScroll(event) | |
applyGantt(config?: GanttPluginConfig) | void | Yes | — | |
clearGantt() | void | Yes | — | |
destroy() | void | Yes | — | |
applyInitialState(initialBindings: GanttObservableBindings) | void | Yes | — | |
enableRangeSelectionDefault() | void | Yes | — | |
initPlugins() | void | Yes | — | |
setupFeatureTools() | void | Yes | — | |
registerEventListeners() | GanttObservableBindings | Yes | — | |
bootstrapProject(project: GanttPluginConfig) | void | Yes | — | |
handleSourceChange(source: DataType[] | undefined, updateMode: GridUpdateMode = 'none') | GanttGridRenderResult | null | Yes | — | |
scheduleRowOrderCommit(previousTasks: readonly DataType[], movedTaskIds: readonly TaskId[] = [], projectedRows: readonly DataType[] = []) | void | Yes | — | |
cancelRowOrderCommit() | void | Yes | — | |
commitRowOrder(previousTasks: readonly DataType[], movedTaskIds: readonly TaskId[] = [], projectedRows: readonly DataType[] = []) | void | Yes | — | |
refreshSearchAfterSourceSet() | void | Yes | — | |
handleDependenciesChange(dependencies: readonly DependencyEntity[] | undefined) | void | Yes | — | |
handleCalendarsChange(calendars: readonly CalendarEntity[] | undefined) | void | Yes | — | |
resolveConfiguredCalendars(config: GanttPluginConfig | null) | readonly CalendarEntity[] | Yes | — | |
handleResourcesChange(resources: readonly ResourceEntity[] | undefined) | void | Yes | — | |
handleAssignmentsChange(assignments: readonly AssignmentEntity[] | undefined) | void | Yes | — | |
handleBaselinesChange(baselines: readonly BaselineSnapshot[] | undefined) | void | Yes | — | |
emitTaskHistoryIfChanged(previousTasks: readonly DataType[], nextTasks: readonly DataType[]) | void | Yes | — | |
emitDependencyHistoryIfChanged(previousDependencies: readonly DependencyEntity[], nextDependencies: readonly DependencyEntity[]) | void | Yes | — | |
emitAssignmentHistoryIfChanged(previousAssignments: readonly AssignmentEntity[], nextAssignments: readonly AssignmentEntity[]) | void | Yes | — | |
emitBaselineHistoryIfChanged(previousBaselines: readonly BaselineSnapshot[], nextBaselines: readonly BaselineSnapshot[]) | void | Yes | — | |
renderGrid(updateMode: GridUpdateMode = 'structure') | GanttGridRenderResult | null | Yes | — | |
refreshGanttViewport(updateMode: GridUpdateMode = 'viewport') | GanttGridRenderResult | null | Yes | — | |
syncGridRows(rows: readonly DataType[], updateMode: GridUpdateMode) | void | Yes | — | |
collectRenderContributions() | GanttRenderContributions | Yes | — | |
getTaskRowPatchContext(taskId: TaskId | null, patch: Partial<TaskEntity>) | GanttSourcePatchContext | Yes | — | |
commitGridEdit(detail: EventManagerEvent) | void | Yes | — | |
replayHistoryEdit(detail: EventManagerEvent) | boolean | Yes | — | |
applyGridEditData(detail: EventManagerEvent, options: { emitBeforeTaskChange: boolean; preferRawTaskPatch: boolean }) | boolean | Yes | — | |
applyDirectSourcePatch(taskId: TaskId, sourcePatch: Record<string, unknown>) | void | Yes | — | |
commitDerivedTaskStoreToSource() | void | Yes | — | |
normalizeGridEditValue(field: string, value: unknown) | unknown | Yes | — | |
onLayoutChanged() | void | Yes | — | |
onViewportScrollSource(event: CustomEvent<ViewPortScrollEvent>) | void | Yes | — | |
onNativeViewportScroll(event: Event) | void | Yes | — | |
onViewportScrollApplied() | void | Yes | — | |
shouldSyncViewportFromScrollSource(event: CustomEvent<ViewPortScrollEvent>) | boolean | Yes | — | |
shouldSyncViewportFromNativeScroll(event: Event) | boolean | Yes | — | |
scheduleViewportScrollRefresh() | void | Yes | — | |
cancelViewportScrollRefresh() | void | Yes | — | |
onViewportChanged() | void | Yes | — | |
scrollGanttViewport(position: { x?: number; y?: number }) | Promise<void> | Yes | — | |
scheduleTimelineHeaderRefresh() | void | Yes | — | |
cancelTimelineHeaderRefresh() | void | Yes | — | |
syncTimelineBackground(viewport: GanttViewportSnapshot | null = this.timelineViewport.syncFrame()) | void | Yes | — | |
hasTimelineBackgroundHeaderStateChanged(state: TimelineBackgroundHeaderState) | boolean | Yes | — | |
onKeyDown(event: KeyboardEvent) | void | Yes | — | |
onWheel(event: WheelEvent) | void | Yes | — | |
zoomIn() | boolean | Yes | — | |
zoomOut() | boolean | Yes | — | |
setZoomLevel(levelId: string) | boolean | Yes | — | |
getZoomLevel() | TimelineZoomLevel | Yes | — | |
canZoomIn() | boolean | Yes | — | |
canZoomOut() | boolean | Yes | — | |
getVisibleRange() | { startDate: ISODateString; endDate: ISODateString; } | null | Yes | — | |
captureBaseline(options?: CaptureBaselineOptions) | BaselineSnapshot | null | Yes | — | |
createTask(options?: GanttCreateTaskOptions) | TaskId | null | Yes | — | |
createTaskFromPinnedRow(name: string) | TaskId | null | Yes | — | |
updateTask(taskId: TaskId, patch: TaskUpdate) | boolean | Yes | — | |
getProjectSnapshot() | ProjectSnapshot | null | Yes | — | Return the project collections currently owned by the Gantt runtime. |
finalizeTaskCreate(taskId: TaskId) | boolean | Yes | — | |
discardTaskCreate(taskId: TaskId) | boolean | Yes | — | |
commitTaskCreate(options?: GanttCreateTaskOptions) | TaskId | null | Yes | — | |
shouldDeferTaskCreateHistory(options?: GanttCreateTaskOptions) | boolean | Yes | — | |
syncPublicTaskRows(options: { createdTaskId?: TaskId; initialValues?: DataType } = {}) | void | Yes | — | |
resolveBulkTaskIds(taskIds?: readonly TaskId[]) | TaskId[] | Yes | — | |
validateTaskMutation(action: GanttBulkTaskAction, taskIds: readonly TaskId[], options: { startDate?: string } = {}) | GanttBulkActionValidation | Yes | — | |
emitBulkBeforeTaskChanges(action: 'indent' | 'outdent' | 'delete' | 'convert-to-milestone', taskIds: readonly TaskId[]) | boolean | Yes | — | |
commitBulkTaskAction(action: 'indent' | 'outdent' | 'delete' | 'convert-to-milestone', taskIds: readonly TaskId[]) | readonly TaskId[] | Yes | — | |
syncTaskMutationService() | void | Yes | — | |
indentTasks(taskIds?: readonly TaskId[]) | readonly TaskId[] | Yes | — | |
indentTask(taskId?: TaskId) | TaskId | null | Yes | — | |
outdentTasks(taskIds?: readonly TaskId[]) | readonly TaskId[] | Yes | — | |
outdentTask(taskId?: TaskId) | TaskId | null | Yes | — | |
convertTasksToMilestones(taskIds?: readonly TaskId[]) | readonly TaskId[] | Yes | — | |
convertTaskToMilestone(taskId?: TaskId) | TaskId | null | Yes | — | |
deleteTasks(taskIds?: readonly TaskId[]) | readonly TaskId[] | Yes | — | |
deleteTask(taskId?: TaskId) | TaskId | null | Yes | — | |
refreshTree(parentId?: TaskId | null) | void | Yes | — | |
getTaskIdFromModel(model: unknown) | TaskId | null | Yes | — | |
clearRowSelectSelection() | void | Yes | — |
Related types: BaselineSnapshot, GanttCreateTaskOptions, GanttPluginConfig, ProjectSnapshot, TaskId, TaskUpdate, TimelineZoomLevel
GanttPluginConfig
Section titled “GanttPluginConfig”interface
Top-level configuration for the {@link GanttPlugin}.
Pass this object to the grid element’s gantt property.
export interface GanttPluginConfig { // Project metadata (required) /** Unique project identifier. */ readonly id: EntityId; /** Project display name. */ readonly name: string; /** Project data schema version. */ readonly version: string; /** Currency code for cost calculations (e.g. `\"USD\"`). */ readonly currency: string; /** Default IANA time zone (e.g. `\"America/New_York\"`). */ readonly timeZone: string; /** Calendar used by default for new tasks. */ readonly primaryCalendarId: CalendarId; /** Timestamp of last project modification. */ readonly updatedAt: ISODateTimeString; /** Reporting date used for calculated task status. Defaults to today. */ readonly statusDate?: ISODateString; /** Working calendars for tasks/resources, including optional intraday `workingHours`. */ readonly calendars?: readonly CalendarEntity[]; /** Duration display unit and working-time conversion settings. */ readonly durationSettings?: DurationSettings;
// Configuration (all optional) /** When `true`, packaged Gantt task, dependency, and assignment mutations are rejected. */ readonly readOnly?: boolean; /** * Task kinds available in packaged Task Type editors. * Omit to allow `task`, `milestone`, and `summary`. */ readonly allowedTaskTypes?: readonly TaskType[]; /** Pre-defined zoom level — see {@link TimelineZoomPreset}. */ readonly zoomPreset?: TimelineZoomPreset; /** Timeline precision used by default zoom and interaction snapping. Defaults to `'day'`. */ readonly timelinePrecision?: 'day' | 'hour'; /** Timeline interaction snapping options for task create, move, and resize. */ readonly snap?: GanttSnapConfig; /** Advanced zoom configuration overriding the preset. */ readonly zoom?: TimelineZoomConfig; /** First day of week for timeline week headers/ticks, where `0` is Sunday and `1` is Monday. Defaults to Sunday. */ readonly weekStartsOn?: 0 | 1; /** * Scheduling engine options. * These are MSP-inspired policies, not display preferences: they decide * whether authored dates move, warn, or stay anchored during recalculation. */ readonly scheduling?: GanttSchedulingConfig; /** When `true`, users can create new tasks from the timeline. */ readonly allowTaskCreate?: boolean; /** When `true`, shows a pinned bottom row for typing a new task name. Requires `allowTaskCreate`. */ readonly taskCreateRow?: boolean; /** When `true`, dragging empty timeline space creates a new task. Disabled by default. */ readonly allowTaskCreateByDrag?: boolean; /** * Built-in Gantt context menu integration. Enabled by default. Set to `false` * to opt out of generated row, column, and timeline menu items while keeping * application-provided RevoGrid context menu configuration untouched. */ readonly contextMenu?: GanttContextMenuConfig | false; /** Restricts which dependency types the user may create. */ readonly allowedDependencyTypes?: readonly DependencyType[]; /** Filters the resource list to only show selected resources. */ readonly resourceFilterIds?: readonly ResourceId[]; /** Resource planning row view and load bar options. */ readonly resourcePlanning?: GanttResourcePlanningConfig; /** Project-level date display and parsing preferences. */ readonly dateFormats?: GanttDateFormatConfig; /** Built-in Gantt UI label overrides for localization. */ readonly labels?: GanttLabelsConfig; /** Visual appearance options — see {@link GanttVisualConfig}. */ readonly visuals?: GanttVisualConfig;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Unique project identifier. |
name | string | Yes | — | Project display name. |
version | string | Yes | — | Project data schema version. |
currency | string | Yes | — | Currency code for cost calculations (e.g. \"USD\"). |
timeZone | string | Yes | — | Default IANA time zone (e.g. \"America/New_York\"). |
primaryCalendarId | CalendarId | Yes | — | Calendar used by default for new tasks. |
updatedAt | ${number}-${number}-${number}T${string} | Yes | — | Timestamp of last project modification. |
statusDate | ISODateString | undefined | No | — | Reporting date used for calculated task status. Defaults to today. |
calendars | readonly CalendarEntity[] | undefined | No | — | Working calendars for tasks/resources, including optional intraday workingHours. |
durationSettings | DurationSettings | undefined | No | — | Duration display unit and working-time conversion settings. |
readOnly | boolean | undefined | No | — | When true, packaged Gantt task, dependency, and assignment mutations are rejected. |
allowedTaskTypes | readonly TaskType[] | undefined | No | — | Task kinds available in packaged Task Type editors. Omit to allow task, milestone, and summary. |
zoomPreset | TimelineZoomPreset | undefined | No | — | Pre-defined zoom level — see {@link TimelineZoomPreset}. |
timelinePrecision | "hour" | "day" | undefined | No | — | Timeline precision used by default zoom and interaction snapping. Defaults to 'day'. |
snap | GanttSnapConfig | undefined | No | — | Timeline interaction snapping options for task create, move, and resize. |
zoom | TimelineZoomConfig | undefined | No | — | Advanced zoom configuration overriding the preset. |
weekStartsOn | 0 | 1 | undefined | No | — | First day of week for timeline week headers/ticks, where 0 is Sunday and 1 is Monday. Defaults to Sunday. |
scheduling | GanttSchedulingConfig | undefined | No | — | Scheduling engine options. These are MSP-inspired policies, not display preferences: they decide whether authored dates move, warn, or stay anchored during recalculation. |
allowTaskCreate | boolean | undefined | No | — | When true, users can create new tasks from the timeline. |
taskCreateRow | boolean | undefined | No | — | When true, shows a pinned bottom row for typing a new task name. Requires allowTaskCreate. |
allowTaskCreateByDrag | boolean | undefined | No | — | When true, dragging empty timeline space creates a new task. Disabled by default. |
contextMenu | false | GanttContextMenuConfig | undefined | No | — | Built-in Gantt context menu integration. Enabled by default. Set to false to opt out of generated row, column, and timeline menu items while keeping application-provided RevoGrid context menu configuration untouched. |
allowedDependencyTypes | readonly DependencyType[] | undefined | No | — | Restricts which dependency types the user may create. |
resourceFilterIds | readonly string[] | undefined | No | — | Filters the resource list to only show selected resources. |
resourcePlanning | GanttResourcePlanningConfig | undefined | No | — | Resource planning row view and load bar options. |
dateFormats | GanttDateFormatConfig | undefined | No | — | Project-level date display and parsing preferences. |
labels | GanttLabelsConfig | undefined | No | — | Built-in Gantt UI label overrides for localization. |
visuals | GanttVisualConfig | undefined | No | — | Visual appearance options — see {@link GanttVisualConfig}. |
Related types: DependencyType, EntityId, GanttContextMenuConfig, GanttDateFormatConfig, GanttLabelsConfig, GanttResourcePlanningConfig, GanttSchedulingConfig, GanttSnapConfig, GanttVisualConfig, ResourceId, TaskType, TimelineZoomConfig, TimelineZoomPreset
GanttResourcePlanningConfig
Section titled “GanttResourcePlanningConfig”interface
Resource planning/load view configuration.
export interface GanttResourcePlanningConfig { /** When `true`, the grid projects one row per resource instead of one row per task. */ readonly enabled?: boolean; /** Restrict the resource planning rows to these resources. */ readonly visibleResourceIds?: readonly ResourceId[]; /** Load bucket size. `day` shows one bar per day; `week` aggregates by calendar week. */ readonly loadGranularity?: 'day' | 'week'; /** Capacity threshold display. */ readonly capacityDisplay?: 'line' | 'none'; /** How over-allocation is shown on load bars. */ readonly overAllocationDisplay?: 'highlight' | 'none';}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
enabled | boolean | undefined | No | — | When true, the grid projects one row per resource instead of one row per task. |
visibleResourceIds | readonly string[] | undefined | No | — | Restrict the resource planning rows to these resources. |
loadGranularity | "day" | "week" | undefined | No | — | Load bucket size. day shows one bar per day; week aggregates by calendar week. |
capacityDisplay | "line" | "none" | undefined | No | — | Capacity threshold display. |
overAllocationDisplay | "none" | "highlight" | undefined | No | — | How over-allocation is shown on load bars. |
Related types: ResourceId
GanttSchedulingConfig
Section titled “GanttSchedulingConfig”interface
Scheduling engine configuration.
export interface GanttSchedulingConfig { /** * When enabled, task duration is evaluated in working days only, * excluding calendar holidays and non-working weekdays. */ readonly excludeHolidaysFromDuration?: boolean; /** Default task mode when a source row does not explicitly set `taskMode`. */ readonly taskModeDefault?: 'auto' | 'manual'; /** * Behaviour for dependency violations on auto-scheduled tasks. * Both modes keep effective dates dependency-valid; `warn` additionally * creates diagnostics so the UI can explain why the task moved. */ readonly autoDependencyViolationBehavior?: 'clamp' | 'warn'; /** * Behaviour for dependency violations on manually scheduled tasks. * Manual tasks preserve authored dates; this option controls whether the * violation is surfaced to users. */ readonly manualDependencyViolationBehavior?: 'warn' | 'ignore'; /** Calendar basis used for dependency lag/lead. */ readonly lagCalendar?: 'calendar-days' | 'working-days'; /** Direction of scheduling. */ readonly scheduleFrom?: 'project-start' | 'project-finish'; /** Optional project start anchor used by forward scheduling policies. */ readonly projectStartDate?: ISODateString; /** Optional project finish anchor used by backward scheduling policies. */ readonly projectFinishDate?: ISODateString; /** * Resource capacity policy. * `warn` reports over-allocation; `auto` shifts eligible forward-scheduled * auto tasks. Backward/project-finish schedules remain warning-only. */ readonly resourceLeveling?: 'off' | 'warn' | 'auto'; /** When true, auto-leveling only delays tasks up to their pre-leveling total slack. */ readonly resourceLevelingWithinSlack?: boolean; /** Default task type used for work/duration/unit calculations. Defaults to `fixed-duration`. */ readonly effortModeDefault?: TaskEffortMode; /** Progress-aware scheduling policy for actual start and remaining duration fields. Actual finish is always authoritative. */ readonly progressRescheduling?: 'off' | 'remaining-duration';}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
excludeHolidaysFromDuration | boolean | undefined | No | — | When enabled, task duration is evaluated in working days only, excluding calendar holidays and non-working weekdays. |
taskModeDefault | "manual" | "auto" | undefined | No | — | Default task mode when a source row does not explicitly set taskMode. |
autoDependencyViolationBehavior | "clamp" | "warn" | undefined | No | — | Behaviour for dependency violations on auto-scheduled tasks. Both modes keep effective dates dependency-valid; warn additionally creates diagnostics so the UI can explain why the task moved. |
manualDependencyViolationBehavior | "warn" | "ignore" | undefined | No | — | Behaviour for dependency violations on manually scheduled tasks. Manual tasks preserve authored dates; this option controls whether the violation is surfaced to users. |
lagCalendar | "calendar-days" | "working-days" | undefined | No | — | Calendar basis used for dependency lag/lead. |
scheduleFrom | "project-start" | "project-finish" | undefined | No | — | Direction of scheduling. |
projectStartDate | ISODateString | undefined | No | — | Optional project start anchor used by forward scheduling policies. |
projectFinishDate | ISODateString | undefined | No | — | Optional project finish anchor used by backward scheduling policies. |
resourceLeveling | "auto" | "warn" | "off" | undefined | No | — | Resource capacity policy. warn reports over-allocation; auto shifts eligible forward-scheduled auto tasks. Backward/project-finish schedules remain warning-only. |
resourceLevelingWithinSlack | boolean | undefined | No | — | When true, auto-leveling only delays tasks up to their pre-leveling total slack. |
effortModeDefault | TaskEffortMode | undefined | No | — | Default task type used for work/duration/unit calculations. Defaults to fixed-duration. |
progressRescheduling | "off" | "remaining-duration" | undefined | No | — | Progress-aware scheduling policy for actual start and remaining duration fields. Actual finish is always authoritative. |
Related types: TaskEffortMode
GanttSnapConfig
Section titled “GanttSnapConfig”interface
export interface GanttSnapConfig { /** Unit used for timeline interaction snapping. Defaults to `timelinePrecision`. */ readonly unit?: 'day' | 'hour'; /** When `true`, snapping skips calendar holidays, closed weekdays, and closed hours. Defaults to `true`. */ readonly workingTime?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
unit | "hour" | "day" | undefined | No | — | Unit used for timeline interaction snapping. Defaults to timelinePrecision. |
workingTime | boolean | undefined | No | — | When true, snapping skips calendar holidays, closed weekdays, and closed hours. Defaults to true. |
GanttTaskHierarchyActionDetail
Section titled “GanttTaskHierarchyActionDetail”interface
Detail payload for indent/outdent events.
export interface GanttTaskHierarchyActionDetail { /** Target task id (defaults to the currently selected task). */ readonly taskId?: TaskId; /** Target task ids for bulk task actions. */ readonly taskIds?: readonly TaskId[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskId | string | undefined | No | — | Target task id (defaults to the currently selected task). |
taskIds | readonly string[] | undefined | No | — | Target task ids for bulk task actions. |
Related types: TaskId
GanttTaskModeOption
Section titled “GanttTaskModeOption”type
export type GanttTaskModeOption = 'auto' | 'manual';GanttTaskSourceRow
Section titled “GanttTaskSourceRow”type
Flat authored task row shape consumed from grid.source by Gantt.
export type GanttTaskSourceRow = GanttTaskSourceBase & ( | { readonly duration: number | string } | { readonly endDate: ISODateString | ISODateTimeString });GanttTaskTooltipContext
Section titled “GanttTaskTooltipContext”interface
Context supplied when building task-bar tooltip content. The task name is rendered as the tooltip title outside hook output.
export interface GanttTaskTooltipContext extends GanttTaskBarVisualContext { /** Current Gantt project/config, when available. */ readonly project?: GanttPluginConfig | null; /** Built-in fields used by the fallback tooltip body. */ readonly defaultFields: readonly GanttTaskTooltipField[]; /** Newline-delimited fallback tooltip body, excluding the task title. */ readonly defaultTooltip: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
project | GanttPluginConfig | null | undefined | No | — | Current Gantt project/config, when available. |
defaultFields | readonly GanttTaskTooltipField[] | Yes | — | Built-in fields used by the fallback tooltip body. |
defaultTooltip | string | Yes | — | Newline-delimited fallback tooltip body, excluding the task title. |
Related types: GanttPluginConfig, GanttTaskBarVisualContext, GanttTaskTooltipField
GanttTaskTooltipField
Section titled “GanttTaskTooltipField”type
A built-in tooltip field id, or a field descriptor with a custom label.
export type GanttTaskTooltipField = GanttTaskTooltipFieldId | GanttTaskTooltipFieldConfig;Related types: GanttTaskTooltipFieldConfig, GanttTaskTooltipFieldId
GanttTaskTooltipFieldConfig
Section titled “GanttTaskTooltipFieldConfig”interface
export interface GanttTaskTooltipFieldConfig { /** Built-in task field to render in the task-bar tooltip at this position. */ readonly field: GanttTaskTooltipFieldId; /** Optional label override. Set to an empty string to render only the value. */ readonly label?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
field | GanttTaskTooltipFieldId | Yes | — | Built-in task field to render in the task-bar tooltip at this position. |
label | string | undefined | No | — | Optional label override. Set to an empty string to render only the value. |
Related types: GanttTaskTooltipFieldId
GanttTaskTooltipFieldId
Section titled “GanttTaskTooltipFieldId”type
export type GanttTaskTooltipFieldId = /** Legacy combined line: task name and completion percent. Prefer the always-visible tooltip title. */ | 'summary' /** Task name. */ | 'name' /** Completion percentage. */ | 'percentDone' /** Human-readable task kind, such as Task, Summary, or Milestone. */ | 'taskType' /** Human-readable task status. */ | 'status' /** Scheduled task start date, formatted through `gantt.dateFormats.tooltip`. */ | 'startDate' /** Scheduled task end date, formatted through `gantt.dateFormats.tooltip`. */ | 'endDate' /** Duration in days with a singular/plural day suffix. */ | 'duration' /** Scheduling mode label, either Auto Scheduled or Manually Scheduled. */ | 'taskMode' /** Scheduling warnings joined into one tooltip line. Skipped when empty. */ | 'schedulingWarnings' /** Formatted task cost. Skipped when empty. */ | 'cost' /** Comma-separated assignee names. Skipped when empty. */ | 'assignees';GanttTaskTooltipHook
Section titled “GanttTaskTooltipHook”type
Callback that replaces the task-bar tooltip body below the always-visible task title.
Return null or undefined to fall back to taskTooltipFields or the default tooltip.
export type GanttTaskTooltipHook = (context: GanttTaskTooltipContext) => string | null | undefined;Related types: GanttTaskTooltipContext
GanttTimeRange
Section titled “GanttTimeRange”interface
A highlighted date range rendered as a coloured band on the timeline. Use to mark sprints, milestones windows, or other periods of interest.
export interface GanttTimeRange { /** Unique identifier. */ readonly id: string; /** Range start date (inclusive). */ readonly startDate: ISODateString; /** Range end date (inclusive). */ readonly endDate: ISODateString; /** Optional label displayed inside the range band. */ readonly label?: string; /** Optional CSS colour for the range band. */ readonly color?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Unique identifier. |
startDate | ISODateString | Yes | — | Range start date (inclusive). |
endDate | ISODateString | Yes | — | Range end date (inclusive). |
label | string | undefined | No | — | Optional label displayed inside the range band. |
color | string | undefined | No | — | Optional CSS colour for the range band. |
hasCustomGanttEditorDateFormat
Section titled “hasCustomGanttEditorDateFormat”function
export function hasCustomGanttEditorDateFormat(project: Pick<GanttPluginConfig, 'dateFormats'> | null | undefined): boolean;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | Pick<GanttPluginConfig, "dateFormats"> | null | undefined | Yes | — |
Related types: GanttPluginConfig
parseGanttDateInput
Section titled “parseGanttDateInput”function
export function parseGanttDateInput(value: unknown, project: Pick<GanttPluginConfig, 'timeZone' | 'dateFormats'> | null | undefined, surface: GanttDateFormatSurface, field?: string): ISODateString | ISODateTimeString | null;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | unknown | Yes | — | |
project | Pick<GanttPluginConfig, "timeZone" | "dateFormats"> | null | undefined | Yes | — | |
surface | GanttDateFormatSurface | Yes | — | |
field | string | undefined | No | — |
Related types: GanttDateFormatSurface, GanttPluginConfig
TaskGridConfig
Section titled “TaskGridConfig”interface
Complete grid configuration bundle containing projected row data, the timeline scale config, and scheduling results.
export interface TaskGridConfig { /** The projected grid rows (one per visible task). */ readonly source: readonly DataType[]; /** Timeline scale configuration for the gantt column. */ readonly scale: TaskGridScaleConfig; /** Scheduling engine output. */ readonly scheduling: SchedulingResult;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
source | readonly DataType[] | Yes | — | The projected grid rows (one per visible task). |
scale | TaskGridScaleConfig | Yes | — | Timeline scale configuration for the gantt column. |
scheduling | SchedulingResult | Yes | — | Scheduling engine output. |
Related types: SchedulingResult, TaskGridScaleConfig
TaskGridScaleConfig
Section titled “TaskGridScaleConfig”interface
Pre-computed timeline scale and view-model for the gantt grid.
export interface TaskGridScaleConfig { /** The timeline scale instance used for coordinate calculations. */ readonly scale: TimelineScale; /** The derived view-model consumed by the gantt column type renderer. */ readonly timeline: GanttTimelineViewModel; /** ISO date string of the timeline start boundary. */ readonly startDate: ISODateString; /** ISO date string of the timeline end boundary. */ readonly endDate: ISODateString;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
scale | TimelineScale | Yes | — | The timeline scale instance used for coordinate calculations. |
timeline | GanttTimelineViewModel | Yes | — | The derived view-model consumed by the gantt column type renderer. |
startDate | ISODateString | Yes | — | ISO date string of the timeline start boundary. |
endDate | ISODateString | Yes | — | ISO date string of the timeline end boundary. |
Related types: TimelineScale
TaskGridScaleOptions
Section titled “TaskGridScaleOptions”interface
export interface TaskGridScaleOptions { /** First day of week for weekly timeline cells. `0` is Sunday and `1` is Monday. Defaults to Sunday. */ readonly weekStartsOn?: 0 | 1;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
weekStartsOn | 0 | 1 | undefined | No | — | First day of week for weekly timeline cells. 0 is Sunday and 1 is Monday. Defaults to Sunday. |