Plugin And Configuration
This page documents 69 public symbols exported by @revolist/gantt.
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
DEFAULT_GANTT_ERROR_LABELS
Section titled “DEFAULT_GANTT_ERROR_LABELS”constant
export const DEFAULT_GANTT_ERROR_LABELS: { readonly taskEdit: { readonly invalidField: ({ field }: GanttMessageContext) => string; readonly booleanRequired: ({ field }: GanttMessageContext) => string; readonly unsupportedConstraintType: ({ value }: GanttMessageContext) => string; readonly invalidDate: ({ field }: GanttMessageContext) => string; readonly summaryDatesDerived: "Summary task dates are derived from children."; readonly invalidScheduledDate: ({ label }: GanttMessageContext) => string; readonly startAfterEnd: "Start date must not be later than the current computed end date."; readonly endBeforeStart: "End date must not be earlier than the current computed start date."; readonly invalidEffortMode: "Effort mode must be Fixed Duration, Fixed Work, or Fixed Units."; readonly taskNameEmpty: "Task name cannot be empty."; readonly invalidLevelingDelay: "Leveling delay must be a non-negative number."; readonly invalidPriority: "Priority must be a number between 0 and 1000."; readonly summaryProgressDerived: "Summary task progress is derived from children."; readonly invalidPercentDone: "Percent done must be numeric."; readonly statusCalculated: "Task status is calculated from progress, scheduled dates, and the project status date."; readonly invalidWorkflowStatus: "Workflow status must be Not Started, In Progress, Done, or Blocked."; readonly invalidTaskMode: "Task mode must be Auto or Manual."; readonly unsupportedTaskType: ({ value }: GanttMessageContext) => string; readonly disallowedTaskType: ({ value }: GanttMessageContext) => string; readonly summaryDurationDerived: "Summary duration is derived from children."; readonly invalidDuration: "Duration must be a value such as 5h, 2d, 3w, or 30m."; readonly invalidRemainingDuration: "Remaining duration must be a value such as 5h, 2d, 3w, or 30m."; readonly milestoneDurationZero: "Milestone duration is fixed at zero in scheduling v1."; readonly invalidWork: "Work must be a value such as 5h, 2d, 3w, or 30m; elapsed units are not supported."; }; readonly taskMutation: { readonly readOnly: ({ action }: GanttMessageContext) => string; readonly lockedTask: ({ taskId, action }: GanttMessageContext) => string; readonly taskNotFound: ({ taskId, action }: GanttMessageContext) => string; readonly serviceNotConfigured: "Task mutation service is not configured."; readonly invalidDate: ({ date }: GanttMessageContext) => string; readonly invalidRange: "End date must not be earlier than start date."; readonly invalidOptionalDate: ({ label, value }: GanttMessageContext) => string; readonly invalidNonNegativeNumber: ({ label }: GanttMessageContext) => string; readonly invalidBoolean: ({ label }: GanttMessageContext) => string; readonly summaryProgressDerived: "Summary task progress is derived from children."; readonly invalidDuration: "Duration must be a non-negative number."; readonly invalidPriority: "Priority must be a number between 0 and 1000."; readonly unsupportedEffortMode: ({ value }: GanttMessageContext) => string; readonly unsupportedTaskType: ({ value }: GanttMessageContext) => string; readonly nonWorkingDate: ({ date }: GanttMessageContext) => string; readonly actualDateRange: "Actual finish date must not be earlier than actual start date."; readonly firstTaskIndent: "The first task cannot be indented."; readonly firstSiblingIndent: "The first sibling task cannot be indented."; readonly rootTaskOutdent: "Root tasks cannot be outdented."; readonly taskOutdentFailed: ({ taskId }: GanttMessageContext) => string; readonly splitRangesArray: "Split ranges must be an array."; readonly invalidSplitStart: ({ startDate }: GanttMessageContext) => string; readonly invalidSplitEnd: ({ endDate }: GanttMessageContext) => string; readonly invalidSplitRange: "Split end date must not be earlier than split start date."; readonly regularTaskSplitOnly: "Only regular task bars can be split."; readonly splitOverlapRequired: "Split range must overlap the task date range."; readonly regularSplitMoveOnly: "Only regular task split ranges can be moved."; readonly splitNotFound: ({ splitIndex, taskId }: GanttMessageContext) => string; readonly summaryMove: "Summary tasks cannot be moved directly on the timeline."; readonly actualFinishMove: "Tasks with an actual finish date cannot be moved on the timeline."; readonly resizeTaskOnly: "Only non-summary task bars can be resized in this milestone."; readonly noWorkingDays: "Selected range contains no working days."; readonly alreadyMilestone: ({ taskId }: GanttMessageContext) => string; readonly summaryMilestone: "Summary tasks with children cannot be converted to milestones."; }; readonly assignment: { readonly invalidUnitsForResource: ({ resourceId }: GanttMessageContext) => string; readonly invalidWorkForResource: ({ resourceId }: GanttMessageContext) => string; readonly resourceNotFound: ({ resourceName, resourceId }: GanttMessageContext) => string; readonly invalidUnitsForName: ({ resourceName }: GanttMessageContext) => string; readonly serviceNotConfigured: "Assignment mutation service is not configured."; readonly taskNotFound: ({ taskId }: GanttMessageContext) => string; readonly readOnly: ({ action }: GanttMessageContext) => string; readonly editCanceled: "Assignment edit was canceled."; }; readonly dependency: { readonly duplicate: "Dependency already exists."; readonly notFound: ({ dependencyId }: GanttMessageContext) => string; readonly taskNotFound: ({ taskId }: GanttMessageContext) => string; readonly tasksMustExist: "Dependency tasks must exist."; readonly selfReference: "A task cannot depend on itself."; readonly invalidType: ({ dependencyType }: GanttMessageContext) => string; readonly invalidReference: ({ value }: GanttMessageContext) => string; readonly unsupportedReferenceType: ({ value }: GanttMessageContext) => string; readonly taskReferenceNotFound: ({ value }: GanttMessageContext) => string; readonly invalidReferenceValue: "Invalid dependency reference value."; readonly cycle: "Dependency would create a circular relationship."; readonly readOnly: ({ action }: GanttMessageContext) => string; readonly replacementCanceled: "Dependency replacement was canceled."; }; readonly taskEditor: { readonly invalidDate: ({ field }: GanttMessageContext) => string; readonly invalidNonNegativeNumber: ({ field }: GanttMessageContext) => string; readonly invalidRangeNumber: ({ field, min, max }: GanttMessageContext) => string; readonly invalidBoolean: ({ field }: GanttMessageContext) => string; readonly unsupportedField: ({ field }: GanttMessageContext) => string; readonly taskNameEmpty: "Task name cannot be empty."; readonly unsupportedWorkflowStatus: ({ value }: GanttMessageContext) => string; readonly disallowedTaskType: ({ value }: GanttMessageContext) => string; readonly summaryDurationDerived: "Summary duration is derived from children."; readonly invalidDuration: "Duration must be a value such as 5h, 2d, 3w, or 30m."; readonly invalidDateRange: "End date must not be earlier than start date."; readonly unsupportedConstraintType: ({ value }: GanttMessageContext) => string; readonly invalidWork: "Work must be a value such as 5h, 2d, 3w, or 30m; elapsed units are not supported."; readonly invalidRemainingDuration: "Remaining duration must be a value such as 5h, 2d, 3w, or 30m."; readonly unsupportedEffortMode: ({ value }: GanttMessageContext) => string; readonly calendarUnavailable: ({ calendarId }: GanttMessageContext) => string; readonly invalidTags: "Tags must be a comma-separated string or string array."; }; };Related types: GanttMessageContext
DEFAULT_GANTT_WARNING_LABELS
Section titled “DEFAULT_GANTT_WARNING_LABELS”constant
export const DEFAULT_GANTT_WARNING_LABELS: { readonly scheduler: { readonly duplicateId: ({ entityName, entityId }: GanttMessageContext) => string; readonly calendarWithoutWorkingDay: ({ calendarId }: GanttMessageContext) => string; readonly invalidWorkingCalendar: ({ calendarId }: GanttMessageContext) => string; readonly invalidTaskConstraint: ({ taskId }: GanttMessageContext) => string; readonly missingTaskCalendar: ({ taskId, calendarId }: GanttMessageContext) => string; readonly invalidTaskDateRange: ({ taskId }: GanttMessageContext) => string; readonly invalidTaskDuration: ({ taskId }: GanttMessageContext) => string; readonly invalidTaskProgress: ({ taskId }: GanttMessageContext) => string; readonly invalidTaskWork: ({ taskId }: GanttMessageContext) => string; readonly invalidTaskPriority: ({ taskId }: GanttMessageContext) => string; readonly missingDependencyTask: ({ dependencyId }: GanttMessageContext) => string; readonly missingResourceCalendar: ({ resourceId, calendarId }: GanttMessageContext) => string; readonly invalidResourceUnits: ({ resourceId }: GanttMessageContext) => string; readonly invalidResourceCost: ({ resourceId }: GanttMessageContext) => string; readonly missingAssignmentTask: ({ assignmentId, taskId }: GanttMessageContext) => string; readonly missingAssignmentResource: ({ assignmentId, resourceId }: GanttMessageContext) => string; readonly invalidAssignmentUnits: ({ assignmentId }: GanttMessageContext) => string; readonly invalidAssignmentWork: ({ assignmentId }: GanttMessageContext) => string; readonly dependencyCycle: "Dependencies contain a cycle."; readonly dependencyConstraint: ({ taskId, constraintType, dependencyId }: GanttMessageContext) => string; readonly hardConstraintOverride: ({ taskId, constraintType }: GanttMessageContext) => string; readonly constraintWindowForward: ({ taskId, constraintType }: GanttMessageContext) => string; readonly constraintWindowBackward: ({ taskId, constraintType }: GanttMessageContext) => string; readonly autoDependencyAdjustment: ({ taskId, startDate, dependencyId }: GanttMessageContext) => string; readonly finishConstraint: ({ taskId, endDate, constraintType, constraintDate }: GanttMessageContext) => string; readonly manualDependencyForward: ({ taskId, dependencyId }: GanttMessageContext) => string; readonly manualDependencyBackward: ({ taskId, dependencyId }: GanttMessageContext) => string; readonly deadlineMissed: ({ taskId, date }: GanttMessageContext) => string; readonly resourceOverallocation: ({ resourceId, date, allocatedUnits, capacityUnits }: GanttMessageContext) => string; readonly storedLevelingDelay: ({ taskId }: GanttMessageContext) => string; readonly resourceLevelingAdjustment: ({ taskId, resourceId }: GanttMessageContext) => string; }; };Related types: GanttMessageContext
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";GanttAssignmentErrorLabelKey
Section titled “GanttAssignmentErrorLabelKey”type
export type GanttAssignmentErrorLabelKey = | 'invalidUnitsForResource' | 'invalidWorkForResource' | 'resourceNotFound' | 'invalidUnitsForName' | 'serviceNotConfigured' | 'taskNotFound' | 'readOnly' | 'editCanceled';GanttColorPaletteConfig
Section titled “GanttColorPaletteConfig”interface
export interface GanttColorPaletteConfig { /** Replace the shared default palette with these options. */ readonly options?: readonly ColorPaletteOption[]; /** Append options to either `options` or the shared default palette. */ readonly extendOptions?: readonly ColorPaletteOption[]; /** Disable every palette choice while retaining the visible submenu. */ readonly disabled?: boolean; /** Configure the inherited/default choice, or set to `false` to remove it. */ readonly defaultOption?: false | { readonly label?: string; readonly disabled?: boolean; }; /** Accessible label resolver for individual swatches. */ readonly colorAriaLabel?: (option: ColorPaletteOption) => string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
options | readonly ColorPaletteOption[] | undefined | No | — | Replace the shared default palette with these options. |
extendOptions | readonly ColorPaletteOption[] | undefined | No | — | Append options to either options or the shared default palette. |
disabled | boolean | undefined | No | — | Disable every palette choice while retaining the visible submenu. |
defaultOption | false | { readonly label?: string; readonly disabled?: boolean; } | undefined | No | — | Configure the inherited/default choice, or set to false to remove it. |
colorAriaLabel | ((option: ColorPaletteOption) => string) | undefined | No | — | Accessible label resolver for individual swatches. |
GanttConstraintTypeLabelValue
Section titled “GanttConstraintTypeLabelValue”type
export type GanttConstraintTypeLabelValue = '' | TaskConstraintType;Related types: TaskConstraintType
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 or task-aware predicate. */ readonly hidden?: GanttContextMenuHiddenItems; /** Disable specific built-in items while keeping them visible, optionally per targeted task. */ readonly disabled?: GanttContextMenuDisabledItems; /** Shared task-color submenu configuration. Set to `false` to remove color editing. */ readonly colorPalette?: GanttColorPaletteConfig | false;}| 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, GanttContextMenuItemState>> | undefined | No | — | Hide specific built-in Gantt context-menu items by id or task-aware predicate. |
disabled | Partial<Record<GanttContextMenuItemId, GanttContextMenuItemState>> | undefined | No | — | Disable specific built-in items while keeping them visible, optionally per targeted task. |
colorPalette | false | GanttColorPaletteConfig | undefined | No | — | Shared task-color submenu configuration. Set to false to remove color editing. |
Related types: GanttColorPaletteConfig, GanttContextMenuDisabledItems, GanttContextMenuHiddenItems, GanttContextMenuLabels
GanttContextMenuDisabledItems
Section titled “GanttContextMenuDisabledItems”type
export type GanttContextMenuDisabledItems = Partial<Record<GanttContextMenuItemId, GanttContextMenuItemState>>;Related types: GanttContextMenuItemId, GanttContextMenuItemState
GanttContextMenuHiddenItems
Section titled “GanttContextMenuHiddenItems”type
export type GanttContextMenuHiddenItems = Partial<Record<GanttContextMenuItemId, GanttContextMenuItemState>>;Related types: GanttContextMenuItemId, GanttContextMenuItemState
GanttContextMenuItemId
Section titled “GanttContextMenuItemId”type
export type GanttContextMenuItemId = | 'edit' | 'add' | 'addTaskAbove' | 'addTaskBelow' | 'addMilestone' | 'addSubtask' | 'addSuccessor' | 'addPredecessor' | 'convertToMilestone' | 'indent' | 'outdent' | 'color' | 'delete' | 'search' | 'sortAsc' | 'sortDesc' | 'filter' | 'hideColumn' | 'columns' | 'zoom' | 'dateRange' | 'showToday' | 'showFlags' /** @deprecated Configure the `zoom` item instead. */ | 'zoomIn' /** @deprecated Configure the `zoom` item instead. */ | 'zoomOut';GanttContextMenuItemState
Section titled “GanttContextMenuItemState”type
export type GanttContextMenuItemState = boolean | ((context: GanttContextMenuItemStateContext) => boolean);Related types: GanttContextMenuItemStateContext
GanttContextMenuItemStateContext
Section titled “GanttContextMenuItemStateContext”interface
export interface GanttContextMenuItemStateContext { /** Built-in item currently being evaluated. */ readonly itemId: GanttContextMenuItemId; /** Tasks targeted by the menu invocation. */ readonly taskIds: readonly TaskId[]; /** Resolved tasks for the target ids. */ readonly tasks: readonly TaskEntity[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
itemId | GanttContextMenuItemId | Yes | — | Built-in item currently being evaluated. |
taskIds | readonly string[] | Yes | — | Tasks targeted by the menu invocation. |
tasks | readonly TaskEntity[] | Yes | — | Resolved tasks for the target ids. |
Related types: GanttContextMenuItemId, TaskEntity, TaskId
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; /** Insert the task before this sibling. Mutually exclusive with `insertAfterTaskId`. */ readonly insertBeforeTaskId?: TaskId | null; /** Initial canonical task type. Defaults to `task`. */ readonly type?: TaskType; /** 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; /** Optionally link the new task to an existing task in the same transaction. */ readonly dependency?: { readonly taskId: TaskId; /** Role of the newly created task relative to `taskId`. */ readonly relation: 'predecessor' | 'successor'; /** Dependency type. Defaults to `finish-to-start`. */ readonly type?: DependencyType; /** Dependency lag in days. Defaults to `0`. */ readonly lagDays?: number; }; /** * 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. |
insertBeforeTaskId | string | null | undefined | No | — | Insert the task before this sibling. Mutually exclusive with insertAfterTaskId. |
type | TaskType | undefined | No | — | Initial canonical task type. Defaults to task. |
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. |
dependency | { readonly taskId: TaskId; readonly relation: "predecessor" | "successor"; readonly type?: DependencyType; readonly lagDays?: number; } | undefined | No | — | Optionally link the new task to an existing task in the same transaction. |
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: DependencyType, TaskId, TaskType
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
GanttDependencyErrorLabelKey
Section titled “GanttDependencyErrorLabelKey”type
export type GanttDependencyErrorLabelKey = | 'duplicate' | 'notFound' | 'taskNotFound' | 'tasksMustExist' | 'selfReference' | 'invalidType' | 'invalidReference' | 'unsupportedReferenceType' | 'taskReferenceNotFound' | 'invalidReferenceValue' | 'cycle' | 'readOnly' | 'replacementCanceled';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
GanttErrorLabelsConfig
Section titled “GanttErrorLabelsConfig”interface
export interface GanttErrorLabelsConfig { readonly taskEdit?: Partial<Record<GanttTaskEditErrorLabelKey, GanttMessageTemplate>>; readonly taskMutation?: Partial<Record<GanttTaskMutationErrorLabelKey, GanttMessageTemplate>>; readonly assignment?: Partial<Record<GanttAssignmentErrorLabelKey, GanttMessageTemplate>>; readonly dependency?: Partial<Record<GanttDependencyErrorLabelKey, GanttMessageTemplate>>; readonly taskEditor?: Partial<Record<GanttTaskEditorErrorLabelKey, GanttMessageTemplate>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskEdit | Partial<Record<GanttTaskEditErrorLabelKey, GanttMessageTemplate>> | undefined | No | — | |
taskMutation | Partial<Record<GanttTaskMutationErrorLabelKey, GanttMessageTemplate>> | undefined | No | — | |
assignment | Partial<Record<GanttAssignmentErrorLabelKey, GanttMessageTemplate>> | undefined | No | — | |
dependency | Partial<Record<GanttDependencyErrorLabelKey, GanttMessageTemplate>> | undefined | No | — | |
taskEditor | Partial<Record<GanttTaskEditorErrorLabelKey, GanttMessageTemplate>> | undefined | No | — |
Related types: GanttAssignmentErrorLabelKey, GanttDependencyErrorLabelKey, GanttMessageTemplate, GanttTaskEditErrorLabelKey, GanttTaskEditorErrorLabelKey, GanttTaskMutationErrorLabelKey
GanttLabelsConfig
Section titled “GanttLabelsConfig”interface
export interface GanttLabelsConfig extends GanttRuntimeLabelsConfig { /** Packaged task-editor text inherited by `GanttTaskEditorDialogPlugin`. */ readonly taskEditor?: GanttTaskEditorDialogLocaleTextOptions;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskEditor | GanttTaskEditorDialogLocaleTextOptions | undefined | No | — | Packaged task-editor text inherited by GanttTaskEditorDialogPlugin. |
Related types: GanttRuntimeLabelsConfig, GanttTaskEditorDialogLocaleTextOptions, GanttTaskEditorDialogPlugin
GanttMessageContext
Section titled “GanttMessageContext”interface
Values available to parameterized Gantt error and warning labels.
export interface GanttMessageContext { readonly action?: string; readonly allocatedUnits?: number; readonly assignmentId?: string; readonly calendarId?: string | number; readonly capacityUnits?: number; readonly constraintDate?: string; readonly constraintType?: string; readonly date?: string; readonly dependencyId?: string; readonly dependencyType?: string; readonly endDate?: string; readonly entityId?: string; readonly entityName?: string; readonly field?: string; readonly label?: string; readonly max?: number; readonly min?: number; readonly parentId?: string; readonly resourceId?: string; readonly resourceName?: string; readonly splitIndex?: number; readonly startDate?: string; readonly taskId?: string; readonly value?: unknown;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
action | string | undefined | No | — | |
allocatedUnits | number | undefined | No | — | |
assignmentId | string | undefined | No | — | |
calendarId | string | number | undefined | No | — | |
capacityUnits | number | undefined | No | — | |
constraintDate | string | undefined | No | — | |
constraintType | string | undefined | No | — | |
date | string | undefined | No | — | |
dependencyId | string | undefined | No | — | |
dependencyType | string | undefined | No | — | |
endDate | string | undefined | No | — | |
entityId | string | undefined | No | — | |
entityName | string | undefined | No | — | |
field | string | undefined | No | — | |
label | string | undefined | No | — | |
max | number | undefined | No | — | |
min | number | undefined | No | — | |
parentId | string | undefined | No | — | |
resourceId | string | undefined | No | — | |
resourceName | string | undefined | No | — | |
splitIndex | number | undefined | No | — | |
startDate | string | undefined | No | — | |
taskId | string | undefined | No | — | |
value | unknown | No | — |
GanttMessageTemplate
Section titled “GanttMessageTemplate”type
export type GanttMessageTemplate = string | ((context: GanttMessageContext) => string);Related types: GanttMessageContext
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 { [DATA_GRID_CONTEXT_MENU_EXTERNAL_ROW_OWNER]: true; 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; updateTasks(taskIds: readonly 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 |
|---|---|---|---|---|
[DATA_GRID_CONTEXT_MENU_EXTERNAL_ROW_OWNER] | true | Yes | true as const | |
pluginDependencies | PluginDependency[] | Yes | [ { kind: 'auto-installed', target: { type: 'plugins', plugins: [() => OverlayPlugin, () => EventManagerPlugin, () => HistoryPlugin, () => TooltipPlugin, () => ContextMenuPlugin, () => DataGridContextMenuPlugin] }, description: 'Installs these Pro plugins internally when absent, including the shared semantic grid context menu used by Gantt.', }, { 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 | |
disposeTooltipThemeVariables | (() => void) | undefined | No | — | |
featureToolsSetup | boolean | Yes | false | |
hasObservedGanttConfigChange | 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 | — | |
commitRowStatusChange(detail: RowStatusChangeEvent) | 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 | — | |
updateTasks(taskIds: readonly 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; /** * When `true`, clicking or tapping a task-table cell horizontally reveals * that task's bar in the timeline. Disabled by default. */ readonly scrollToTaskOnCellClick?: boolean; /** * Optional inclusive timeline bounds. When omitted, bounds are derived from * scheduled task dates with zoom-appropriate padding. */ readonly timelineRange?: GanttTimelineRange; /** * 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. |
scrollToTaskOnCellClick | boolean | undefined | No | — | When true, clicking or tapping a task-table cell horizontally reveals that task’s bar in the timeline. Disabled by default. |
timelineRange | GanttTimelineRange | undefined | No | — | Optional inclusive timeline bounds. When omitted, bounds are derived from scheduled task dates with zoom-appropriate padding. |
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, GanttTimelineRange, 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
GanttRuntimeLabelsConfig
Section titled “GanttRuntimeLabelsConfig”interface
Shared labels understood by the Gantt engine, mutation services, and grid.
export interface GanttRuntimeLabelsConfig { readonly taskMode?: Partial<Record<GanttTaskModeLabelValue, string>>; readonly status?: Partial<Record<TaskStatus, string>>; readonly workflowStatus?: Partial<Record<TaskWorkflowStatus, string>>; readonly effortMode?: Partial<Record<TaskEffortMode, string>>; readonly constraintType?: Partial<Record<GanttConstraintTypeLabelValue, string>>; readonly taskType?: Partial<Record<TaskType, string>>; readonly errors?: GanttErrorLabelsConfig; readonly warnings?: GanttWarningLabelsConfig;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskMode | Partial<Record<GanttTaskModeLabelValue, string>> | undefined | No | — | |
status | Partial<Record<TaskStatus, string>> | undefined | No | — | |
workflowStatus | Partial<Record<TaskWorkflowStatus, string>> | undefined | No | — | |
effortMode | Partial<Record<TaskEffortMode, string>> | undefined | No | — | |
constraintType | Partial<Record<GanttConstraintTypeLabelValue, string>> | undefined | No | — | |
taskType | Partial<Record<TaskType, string>> | undefined | No | — | |
errors | GanttErrorLabelsConfig | undefined | No | — | |
warnings | GanttWarningLabelsConfig | undefined | No | — |
Related types: GanttConstraintTypeLabelValue, GanttErrorLabelsConfig, GanttTaskModeLabelValue, GanttWarningLabelsConfig, TaskEffortMode, TaskStatus, TaskType, TaskWorkflowStatus
GanttSchedulerWarningLabelKey
Section titled “GanttSchedulerWarningLabelKey”type
export type GanttSchedulerWarningLabelKey = | 'duplicateId' | 'calendarWithoutWorkingDay' | 'invalidWorkingCalendar' | 'invalidTaskConstraint' | 'missingTaskCalendar' | 'invalidTaskDateRange' | 'invalidTaskDuration' | 'invalidTaskProgress' | 'invalidTaskWork' | 'invalidTaskPriority' | 'missingDependencyTask' | 'missingResourceCalendar' | 'invalidResourceUnits' | 'invalidResourceCost' | 'missingAssignmentTask' | 'missingAssignmentResource' | 'invalidAssignmentUnits' | 'invalidAssignmentWork' | 'dependencyCycle' | 'dependencyConstraint' | 'hardConstraintOverride' | 'constraintWindowForward' | 'constraintWindowBackward' | 'autoDependencyAdjustment' | 'finishConstraint' | 'manualDependencyForward' | 'manualDependencyBackward' | 'deadlineMissed' | 'resourceOverallocation' | 'storedLevelingDelay' | 'resourceLevelingAdjustment';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. |
GanttTaskEditErrorLabelKey
Section titled “GanttTaskEditErrorLabelKey”type
export type GanttTaskEditErrorLabelKey = | 'invalidField' | 'booleanRequired' | 'unsupportedConstraintType' | 'invalidDate' | 'summaryDatesDerived' | 'invalidScheduledDate' | 'startAfterEnd' | 'endBeforeStart' | 'invalidEffortMode' | 'taskNameEmpty' | 'invalidLevelingDelay' | 'invalidPriority' | 'summaryProgressDerived' | 'invalidPercentDone' | 'statusCalculated' | 'invalidWorkflowStatus' | 'invalidTaskMode' | 'unsupportedTaskType' | 'disallowedTaskType' | 'summaryDurationDerived' | 'invalidDuration' | 'invalidRemainingDuration' | 'milestoneDurationZero' | 'invalidWork';GanttTaskEditorErrorLabelKey
Section titled “GanttTaskEditorErrorLabelKey”type
export type GanttTaskEditorErrorLabelKey = | 'invalidDate' | 'invalidNonNegativeNumber' | 'invalidRangeNumber' | 'invalidBoolean' | 'unsupportedField' | 'taskNameEmpty' | 'unsupportedWorkflowStatus' | 'disallowedTaskType' | 'summaryDurationDerived' | 'invalidDuration' | 'invalidDateRange' | 'unsupportedConstraintType' | 'invalidWork' | 'invalidRemainingDuration' | 'unsupportedEffortMode' | 'calendarUnavailable' | 'invalidTags';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
GanttTaskModeLabelValue
Section titled “GanttTaskModeLabelValue”type
export type GanttTaskModeLabelValue = 'auto' | 'manual';GanttTaskModeOption
Section titled “GanttTaskModeOption”type
export type GanttTaskModeOption = 'auto' | 'manual';GanttTaskMutationErrorLabelKey
Section titled “GanttTaskMutationErrorLabelKey”type
export type GanttTaskMutationErrorLabelKey = | 'readOnly' | 'lockedTask' | 'taskNotFound' | 'serviceNotConfigured' | 'invalidDate' | 'invalidRange' | 'invalidOptionalDate' | 'invalidNonNegativeNumber' | 'invalidBoolean' | 'summaryProgressDerived' | 'invalidDuration' | 'invalidPriority' | 'unsupportedEffortMode' | 'unsupportedTaskType' | 'nonWorkingDate' | 'actualDateRange' | 'firstTaskIndent' | 'firstSiblingIndent' | 'rootTaskOutdent' | 'taskOutdentFailed' | 'splitRangesArray' | 'invalidSplitStart' | 'invalidSplitEnd' | 'invalidSplitRange' | 'regularTaskSplitOnly' | 'splitOverlapRequired' | 'regularSplitMoveOnly' | 'splitNotFound' | 'summaryMove' | 'actualFinishMove' | 'resizeTaskOnly' | 'noWorkingDays' | 'alreadyMilestone' | 'summaryMilestone';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. |
GanttWarningLabelsConfig
Section titled “GanttWarningLabelsConfig”interface
export interface GanttWarningLabelsConfig { readonly scheduler?: Partial<Record<GanttSchedulerWarningLabelKey, GanttMessageTemplate>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
scheduler | Partial<Record<GanttSchedulerWarningLabelKey, GanttMessageTemplate>> | undefined | No | — |
Related types: GanttMessageTemplate, GanttSchedulerWarningLabelKey
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
resolveGanttErrorLabel
Section titled “resolveGanttErrorLabel”function
export function resolveGanttErrorLabel<TCategory extends keyof typeof DEFAULT_GANTT_ERROR_LABELS, TKey extends keyof (typeof DEFAULT_GANTT_ERROR_LABELS)[TCategory]>(labels: GanttRuntimeLabelsConfig | null | undefined, category: TCategory, key: TKey, context: GanttMessageContext = {}): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
labels | GanttRuntimeLabelsConfig | null | undefined | Yes | — | |
category | TCategory | Yes | — | |
key | TKey | Yes | — | |
context | GanttMessageContext | No | {} |
Related types: GanttMessageContext, GanttRuntimeLabelsConfig
resolveGanttWarningLabel
Section titled “resolveGanttWarningLabel”function
export function resolveGanttWarningLabel<TCategory extends keyof typeof DEFAULT_GANTT_WARNING_LABELS, TKey extends keyof (typeof DEFAULT_GANTT_WARNING_LABELS)[TCategory]>(labels: GanttRuntimeLabelsConfig | null | undefined, category: TCategory, key: TKey, context: GanttMessageContext = {}): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
labels | GanttRuntimeLabelsConfig | null | undefined | Yes | — | |
category | TCategory | Yes | — | |
key | TKey | Yes | — | |
context | GanttMessageContext | No | {} |
Related types: GanttMessageContext, GanttRuntimeLabelsConfig
shouldReplayRawGanttTaskPatch
Section titled “shouldReplayRawGanttTaskPatch”function
export function shouldReplayRawGanttTaskPatch(eventTypes: readonly string[], model: unknown, field: string): field is keyof TaskUpdate;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypes | readonly string[] | Yes | — | |
model | unknown | Yes | — | |
field | string | Yes | — |
Related types: TaskUpdate
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; /** Optional inclusive bounds overriding the task-derived timeline range. */ readonly timelineRange?: GanttTimelineRange;}| 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. |
timelineRange | GanttTimelineRange | undefined | No | — | Optional inclusive bounds overriding the task-derived timeline range. |
Related types: GanttTimelineRange