Editors, Toolbar, Export, And Recipes
This page documents 206 public symbols exported by @revolist/revogrid-enterprise.
ApprovalGateValidatorOptions
Section titled “ApprovalGateValidatorOptions”interface
export interface ApprovalGateValidatorOptions<TContext extends GanttValidationContext> { readonly actions?: readonly GanttBeforeTaskChangeAction[]; readonly requiresApproval?: ( detail: GanttBeforeTaskChangeDetail, context: TContext, ) => boolean; readonly isApprovalValid?: ( approval: ApprovalRecord, detail: GanttBeforeTaskChangeDetail, context: TContext, ) => boolean; readonly message?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
actions | readonly GanttBeforeTaskChangeAction[] | undefined | No | — | |
requiresApproval | ((detail: GanttBeforeTaskChangeDetail, context: TContext) => boolean) | undefined | No | — | |
isApprovalValid | ((approval: ApprovalRecord, detail: GanttBeforeTaskChangeDetail, context: TContext) => boolean) | undefined | No | — | |
message | string | undefined | No | — |
Related types: ApprovalRecord, GanttBeforeTaskChangeAction, GanttBeforeTaskChangeDetail, GanttValidationContext
ApprovalRecord
Section titled “ApprovalRecord”interface
export interface ApprovalRecord { readonly approved: boolean; readonly approvedBy?: string; readonly expiresAt?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
approved | boolean | Yes | — | |
approvedBy | string | undefined | No | — | |
expiresAt | string | undefined | No | — |
areGanttDependencyDropdownValuesEqual
Section titled “areGanttDependencyDropdownValuesEqual”function
export function areGanttDependencyDropdownValuesEqual(left: readonly GanttDependencyDropdownValue[], right: readonly GanttDependencyDropdownValue[]): boolean;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
left | readonly GanttDependencyDropdownValue[] | Yes | — | |
right | readonly GanttDependencyDropdownValue[] | Yes | — |
Related types: GanttDependencyDropdownValue
AssignResourceMenuItemOptions
Section titled “AssignResourceMenuItemOptions”interface
export interface AssignResourceMenuItemOptions extends GanttContextMenuBaseItemOptions { readonly onAssignResource: (context: GanttContextMenuExtensionContext) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
onAssignResource | (context: GanttContextMenuExtensionContext) => void | Yes | — |
Related types: GanttContextMenuBaseItemOptions, GanttContextMenuExtensionContext
buildCreateProjectSnapshotTableSql
Section titled “buildCreateProjectSnapshotTableSql”function
SQL shape for storing one JSONB project snapshot per project id.
export function buildCreateProjectSnapshotTableSql(options: ProjectSnapshotPostgresOptions = {}): PostgresStatement;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ProjectSnapshotPostgresOptions | No | {} |
Related types: PostgresStatement, ProjectSnapshotPostgresOptions
buildLoadProjectSnapshotSql
Section titled “buildLoadProjectSnapshotSql”function
export function buildLoadProjectSnapshotSql(projectId: string, options: ProjectSnapshotPostgresOptions = {}): PostgresStatement;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | string | Yes | — | |
options | ProjectSnapshotPostgresOptions | No | {} |
Related types: PostgresStatement, ProjectSnapshotPostgresOptions
buildSaveProjectSnapshotSql
Section titled “buildSaveProjectSnapshotSql”function
export function buildSaveProjectSnapshotSql(project: ProjectSnapshot, options: ProjectSnapshotPostgresOptions = {}): PostgresStatement;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | ProjectSnapshot | Yes | — | |
options | ProjectSnapshotPostgresOptions | No | {} |
Related types: PostgresStatement, ProjectSnapshot, ProjectSnapshotPostgresOptions
captureGanttBaseline
Section titled “captureGanttBaseline”function
export function captureGanttBaseline(grid: HTMLRevoGridElement, options?: CaptureBaselineOptions): Promise<BaselineSnapshot | null>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | CaptureBaselineOptions | undefined | No | — |
Related types: BaselineSnapshot
createApprovalGateValidator
Section titled “createApprovalGateValidator”function
export function createApprovalGateValidator<TContext extends GanttValidationContext>(options: ApprovalGateValidatorOptions<TContext> = {}): GanttBeforeTaskChangeValidator<TContext>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ApprovalGateValidatorOptions<TContext> | No | {} |
Related types: ApprovalGateValidatorOptions, GanttBeforeTaskChangeValidator, GanttValidationContext
createAssignResourceMenuItem
Section titled “createAssignResourceMenuItem”function
export function createAssignResourceMenuItem(options: AssignResourceMenuItemOptions): ContextMenuItem;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | AssignResourceMenuItemOptions | Yes | — |
Related types: AssignResourceMenuItemOptions
createCustomTaskEditorFormRecipe
Section titled “createCustomTaskEditorFormRecipe”function
Recipe: use the schema to render any UI form, then normalize submitted values into the task mutation patch expected by Gantt task services.
export function createCustomTaskEditorFormRecipe(options: CustomTaskEditorRecipeOptions): CustomTaskEditorRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | CustomTaskEditorRecipeOptions | Yes | — |
Related types: CustomTaskEditorRecipe, CustomTaskEditorRecipeOptions
createCustomValidationRecipe
Section titled “createCustomValidationRecipe”function
Recipe: compose custom before-task-change validation from small validators.
Add this handler to gantt-before-task-change and render onReject however
the app reports validation failures.
export function createCustomValidationRecipe(options: CustomValidationRecipeOptions): CustomValidationRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | CustomValidationRecipeOptions | Yes | — |
Related types: CustomValidationRecipe, CustomValidationRecipeOptions
createDeleteTaskMenuItem
Section titled “createDeleteTaskMenuItem”function
export function createDeleteTaskMenuItem(options: DeleteTaskMenuItemOptions): ContextMenuItem;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | DeleteTaskMenuItemOptions | Yes | — |
Related types: DeleteTaskMenuItemOptions
createDependencyValidationSummaryRecipe
Section titled “createDependencyValidationSummaryRecipe”function
Recipe: combine scheduler diagnostics and projected row warnings into one compact dependency-health object for side panels, badges, or command palettes.
export function createDependencyValidationSummaryRecipe(input: DependencyValidationSummaryInput): DependencyValidationSummaryRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
input | DependencyValidationSummaryInput | Yes | — |
Related types: DependencyValidationSummaryRecipe
createDuplicateTaskMenuItem
Section titled “createDuplicateTaskMenuItem”function
export function createDuplicateTaskMenuItem(options: DuplicateTaskMenuItemOptions = {}): ContextMenuItem;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | DuplicateTaskMenuItemOptions | No | {} |
Related types: DuplicateTaskMenuItemOptions
createExportMenuItem
Section titled “createExportMenuItem”function
export function createExportMenuItem(options: ExportMenuItemOptions = {}): ContextMenuItem;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ExportMenuItemOptions | No | {} |
Related types: ExportMenuItemOptions
createForbiddenDateRangeValidator
Section titled “createForbiddenDateRangeValidator”function
export function createForbiddenDateRangeValidator<TContext extends GanttValidationContext>(options: ForbiddenDateRangeValidatorOptions): GanttBeforeTaskChangeValidator<TContext>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ForbiddenDateRangeValidatorOptions | Yes | — |
Related types: ForbiddenDateRangeValidatorOptions, GanttBeforeTaskChangeValidator, GanttValidationContext
createGanttColumnPresetRecipe
Section titled “createGanttColumnPresetRecipe”function
Framework-neutral column recipe for switching between Gantt-aware presets and
customer-defined columns before assigning the result to grid.columns.
export function createGanttColumnPresetRecipe(options: GanttColumnPresetRecipeOptions): GanttColumnPresetRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttColumnPresetRecipeOptions | Yes | — |
Related types: GanttColumnPresetRecipe, GanttColumnPresetRecipeOptions
createGanttContextMenuExtensionItems
Section titled “createGanttContextMenuExtensionItems”function
export function createGanttContextMenuExtensionItems(options: { readonly duplicate?: DuplicateTaskMenuItemOptions | false; readonly delete?: DeleteTaskMenuItemOptions | false; readonly assignResource?: AssignResourceMenuItemOptions | false; readonly export?: ExportMenuItemOptions | false;}): ContextMenuItem[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | { readonly duplicate?: DuplicateTaskMenuItemOptions | false; readonly delete?: DeleteTaskMenuItemOptions | false; readonly assignResource?: AssignResourceMenuItemOptions | false; readonly export?: ExportMenuItemOptions | false; } | Yes | — |
Related types: AssignResourceMenuItemOptions, DeleteTaskMenuItemOptions, DuplicateTaskMenuItemOptions, ExportMenuItemOptions
createGanttContextMenuQuickWinRecipe
Section titled “createGanttContextMenuQuickWinRecipe”function
Framework-neutral context-menu recipe for composing the Gantt quick actions with RevoGrid Pro’s context-menu plugin.
export function createGanttContextMenuQuickWinRecipe(options: GanttContextMenuQuickWinRecipeOptions): readonly ContextMenuItem[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttContextMenuQuickWinRecipeOptions | Yes | — |
Related types: GanttContextMenuQuickWinRecipeOptions
createGanttExcelExportRecipe
Section titled “createGanttExcelExportRecipe”function
Framework-neutral Excel recipe for customers that export the projected Gantt task table instead of serializing renderer-only timeline fields.
export function createGanttExcelExportRecipe(options: GanttExcelExportRecipeOptions): GanttExcelExportRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttExcelExportRecipeOptions | Yes | — |
Related types: GanttExcelExportRecipe, GanttExcelExportRecipeOptions
createGanttPdfExcelReportingRecipe
Section titled “createGanttPdfExcelReportingRecipe”function
Framework-neutral reporting recipe for toolbars that offer both stakeholder PDF reports and spreadsheet handoff from the same Gantt grid.
export function createGanttPdfExcelReportingRecipe(options: GanttPdfExcelReportingRecipeOptions): GanttPdfExcelReportingRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttPdfExcelReportingRecipeOptions | Yes | — |
Related types: GanttPdfExcelReportingRecipe, GanttPdfExcelReportingRecipeOptions
createGanttPrintOptions
Section titled “createGanttPrintOptions”function
export function createGanttPrintOptions(options: GanttPrintStyleOptions = {}): NormalizedGanttPrintOptions;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttPrintStyleOptions | No | {} |
Related types: GanttPrintStyleOptions
createGanttPrintStyles
Section titled “createGanttPrintStyles”function
export function createGanttPrintStyles(options: GanttPrintStyleOptions = {}): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttPrintStyleOptions | No | {} |
Related types: GanttPrintStyleOptions
createGanttTaskStatusIndicatorRecipe
Section titled “createGanttTaskStatusIndicatorRecipe”function
Framework-neutral visual-indicator recipe for read-only projects and locked tasks. The returned class/title values can be bound to a custom cell renderer or status column without changing the projected task row.
export function createGanttTaskStatusIndicatorRecipe(options: GanttTaskStatusIndicatorRecipeOptions): readonly GanttTaskStatusIndicatorRecipeRow[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttTaskStatusIndicatorRecipeOptions | Yes | — |
Related types: GanttTaskStatusIndicatorRecipeOptions, GanttTaskStatusIndicatorRecipeRow
createGanttToolbarQuickWinActions
Section titled “createGanttToolbarQuickWinActions”function
Framework-neutral command descriptors for common Gantt toolbar additions.
Render the returned commands in any toolbar UI and call run() from the
button handler. Creating the descriptors does not dispatch events, scroll, or
mutate the grid.
export function createGanttToolbarQuickWinActions(grid: HTMLRevoGridElement, options: GanttToolbarQuickWinOptions = {}): GanttToolbarQuickWinActions;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | GanttToolbarQuickWinOptions | No | {} |
Related types: GanttToolbarQuickWinActions, GanttToolbarQuickWinOptions
createGraphqlProjectPersistenceRecipe
Section titled “createGraphqlProjectPersistenceRecipe”function
export function createGraphqlProjectPersistenceRecipe(options: ProjectSnapshotGraphqlAdapterOptions, state: ProjectSnapshotState): ProjectSnapshotPersistenceRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ProjectSnapshotGraphqlAdapterOptions | Yes | — | |
state | ProjectSnapshotState | Yes | — |
Related types: ProjectSnapshotGraphqlAdapterOptions, ProjectSnapshotPersistenceRecipe, ProjectSnapshotState
createJsonSnapshotRecipe
Section titled “createJsonSnapshotRecipe”function
export function createJsonSnapshotRecipe(options: ProjectSnapshotJsonRecipeOptions = {}): ProjectSnapshotJsonRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ProjectSnapshotJsonRecipeOptions | No | {} |
Related types: ProjectSnapshotJsonRecipe, ProjectSnapshotJsonRecipeOptions
createLockedPhaseValidator
Section titled “createLockedPhaseValidator”function
export function createLockedPhaseValidator<TContext>(options: LockedPhaseValidatorOptions<TContext>): GanttBeforeTaskChangeValidator<TContext>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | LockedPhaseValidatorOptions<TContext> | Yes | — |
Related types: GanttBeforeTaskChangeValidator, LockedPhaseValidatorOptions
createPostgresSqlPersistenceRecipe
Section titled “createPostgresSqlPersistenceRecipe”function
export function createPostgresSqlPersistenceRecipe(executor: ProjectSnapshotSqlExecutor, state: ProjectSnapshotState, options: ProjectSnapshotPostgresOptions = {}): ProjectSnapshotPostgresRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
executor | ProjectSnapshotSqlExecutor | Yes | — | |
state | ProjectSnapshotState | Yes | — | |
options | ProjectSnapshotPostgresOptions | No | {} |
Related types: ProjectSnapshotPostgresOptions, ProjectSnapshotPostgresRecipe, ProjectSnapshotSqlExecutor, ProjectSnapshotState
createPrintableGanttMetadata
Section titled “createPrintableGanttMetadata”function
export function createPrintableGanttMetadata(options: GanttPrintableMetadataOptions = {}): GanttPrintableMetadata;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttPrintableMetadataOptions | No | {} |
Related types: GanttPrintableMetadata, GanttPrintableMetadataOptions
createPrintPdfExportRecipe
Section titled “createPrintPdfExportRecipe”function
export function createPrintPdfExportRecipe(options: GanttPrintPdfRecipeOptions): GanttPrintPdfRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttPrintPdfRecipeOptions | Yes | — |
Related types: GanttPrintPdfRecipe, GanttPrintPdfRecipeOptions
createResourceLoadSummaryExample
Section titled “createResourceLoadSummaryExample”function
export function createResourceLoadSummaryExample(resourceId: string, resourceName: string, planning: ResourcePlanningRowData): ResourceOverallocationLoadSummary;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
resourceId | string | Yes | — | |
resourceName | string | Yes | — | |
planning | ResourcePlanningRowData | Yes | — |
Related types: ResourcePlanningRowData
createResourceOverallocationSummaryRecipe
Section titled “createResourceOverallocationSummaryRecipe”function
Recipe: feed either projected resource rows, raw load summaries, or scheduler conflicts into a summary object that a resource dashboard can render.
export function createResourceOverallocationSummaryRecipe(input: ResourceOverallocationSummaryInput): ResourceOverallocationSummaryRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
input | ResourceOverallocationSummaryInput | Yes | — |
Related types: ResourceOverallocationSummaryRecipe
createRestProjectPersistenceRecipe
Section titled “createRestProjectPersistenceRecipe”function
export function createRestProjectPersistenceRecipe(options: ProjectSnapshotRestAdapterOptions, state: ProjectSnapshotState): ProjectSnapshotPersistenceRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | ProjectSnapshotRestAdapterOptions | Yes | — | |
state | ProjectSnapshotState | Yes | — |
Related types: ProjectSnapshotPersistenceRecipe, ProjectSnapshotRestAdapterOptions, ProjectSnapshotState
createRoleBasedEditabilityRecipe
Section titled “createRoleBasedEditabilityRecipe”function
Recipe: attach these handlers to the three cancelable Gantt before-change events. The app owns role lookup; the helper only turns roles into deterministic decisions.
export function createRoleBasedEditabilityRecipe(options: GanttRoleBasedEditabilityRecipeOptions): GanttRoleBasedEditabilityRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | GanttRoleBasedEditabilityRecipeOptions | Yes | — |
Related types: GanttRoleBasedEditabilityRecipe, GanttRoleBasedEditabilityRecipeOptions
createRoleGuardValidator
Section titled “createRoleGuardValidator”function
export function createRoleGuardValidator<TContext extends GanttValidationContext>(options: RoleGuardValidatorOptions<TContext>): GanttBeforeTaskChangeValidator<TContext>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | RoleGuardValidatorOptions<TContext> | Yes | — |
Related types: GanttBeforeTaskChangeValidator, GanttValidationContext, RoleGuardValidatorOptions
createSchedulerDiagnosticsExample
Section titled “createSchedulerDiagnosticsExample”function
export function createSchedulerDiagnosticsExample(conflicts: readonly SchedulerConflict[] = [], issues: readonly SchedulerIssue[] = []): DependencyValidationSummaryInput;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
conflicts | readonly SchedulerConflict[] | No | [] | |
issues | readonly SchedulerIssue[] | No | [] |
Related types: SchedulerConflict, SchedulerIssue
createSupabasePostgresPersistenceRecipe
Section titled “createSupabasePostgresPersistenceRecipe”function
export function createSupabasePostgresPersistenceRecipe(client: SupabaseLikeClient<ProjectSnapshotPostgresRow>, state: ProjectSnapshotState, options: ProjectSnapshotPostgresOptions = {}): ProjectSnapshotStorageRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
client | SupabaseLikeClient<ProjectSnapshotPostgresRow> | Yes | — | |
state | ProjectSnapshotState | Yes | — | |
options | ProjectSnapshotPostgresOptions | No | {} |
Related types: ProjectSnapshotPostgresOptions, ProjectSnapshotPostgresRow, ProjectSnapshotState, ProjectSnapshotStorageRecipe, SupabaseLikeClient
createTaskDetailPopoverRecipe
Section titled “createTaskDetailPopoverRecipe”function
Recipe: resolve the presentation-free popover model at hover/focus time and let the framework render sections, fields, warnings, and resource assignments.
export function createTaskDetailPopoverRecipe(options: TaskDetailPopoverRecipeOptions): TaskDetailPopoverRecipe;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
options | TaskDetailPopoverRecipeOptions | Yes | — |
Related types: TaskDetailPopoverRecipe, TaskDetailPopoverRecipeOptions
createTaskEditorDialogLocaleText
Section titled “createTaskEditorDialogLocaleText”function
export function createTaskEditorDialogLocaleText(localeText: GanttTaskEditorDialogLocaleTextOptions | undefined): GanttTaskEditorDialogLocaleText;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
localeText | GanttTaskEditorDialogLocaleTextOptions | undefined | Yes | — |
Related types: GanttTaskEditorDialogLocaleText, GanttTaskEditorDialogLocaleTextOptions
createTaskNameExcelExportMenuItem
Section titled “createTaskNameExcelExportMenuItem”function
export function createTaskNameExcelExportMenuItem(workbookName: string): ContextMenuItem;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
workbookName | string | Yes | — |
CustomTaskEditorRecipe
Section titled “CustomTaskEditorRecipe”interface
export interface CustomTaskEditorRecipe { readonly fields: readonly TaskEditorFieldSchema[]; readonly initialValues: TaskEditorFormValues; readonly submit: (values: TaskEditorFormValues, options?: NormalizeTaskEditorSubmitOptions) => TaskEditorSubmitResult;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
fields | readonly TaskEditorFieldSchema<TaskEditorFieldId>[] | Yes | — | |
initialValues | Partial<Record<TaskEditorFieldId, unknown>> | Yes | — | |
submit | (values: TaskEditorFormValues, options?: NormalizeTaskEditorSubmitOptions) => TaskEditorSubmitResult | Yes | — |
CustomTaskEditorRecipeOptions
Section titled “CustomTaskEditorRecipeOptions”interface
export interface CustomTaskEditorRecipeOptions { readonly task: TaskEntity; readonly resources?: readonly ResourceEntity[]; readonly assignments?: readonly AssignmentEntity[]; readonly fieldIds?: readonly TaskEditorFieldId[]; readonly includeUnchanged?: boolean; readonly onSubmitPatch?: (patch: TaskUpdate) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
task | TaskEntity | Yes | — | |
resources | readonly ResourceEntity[] | undefined | No | — | |
assignments | readonly AssignmentEntity[] | undefined | No | — | |
fieldIds | readonly TaskEditorFieldId[] | undefined | No | — | |
includeUnchanged | boolean | undefined | No | — | |
onSubmitPatch | ((patch: TaskUpdate) => void) | undefined | No | — |
Related types: AssignmentEntity, ResourceEntity, TaskEntity, TaskUpdate
CustomValidationRecipe
Section titled “CustomValidationRecipe”interface
export interface CustomValidationRecipe { readonly validators: readonly GanttBeforeTaskChangeValidator<GanttValidationContext>[]; readonly handler: (event: GanttExampleCancelableEvent<GanttBeforeTaskChangeDetail>) => void; readonly validate: (detail: GanttBeforeTaskChangeDetail) => GanttValidationDecision;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
validators | readonly GanttBeforeTaskChangeValidator<GanttValidationContext>[] | Yes | — | |
handler | (event: GanttExampleCancelableEvent<GanttBeforeTaskChangeDetail>) => void | Yes | — | |
validate | (detail: GanttBeforeTaskChangeDetail) => GanttValidationDecision | Yes | — |
Related types: GanttBeforeTaskChangeDetail, GanttBeforeTaskChangeValidator, GanttExampleCancelableEvent, GanttValidationContext, GanttValidationDecision
CustomValidationRecipeOptions
Section titled “CustomValidationRecipeOptions”interface
export interface CustomValidationRecipeOptions { readonly context: GanttValidationContext | (() => GanttValidationContext); readonly rolePolicy?: GanttRoleEditabilityPolicy; readonly freezeWindows?: readonly GanttDateRange[]; readonly lockedPhaseIds?: readonly string[]; readonly phaseByTaskId?: Readonly<Record<TaskId, string>>; readonly validators?: readonly GanttBeforeTaskChangeValidator<GanttValidationContext>[]; readonly onReject?: (rejection: GanttValidationReject) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
context | GanttValidationContext | (() => GanttValidationContext) | Yes | — | |
rolePolicy | GanttRoleEditabilityPolicy | undefined | No | — | |
freezeWindows | readonly GanttDateRange[] | undefined | No | — | |
lockedPhaseIds | readonly string[] | undefined | No | — | |
phaseByTaskId | Readonly<Record<string, string>> | undefined | No | — | |
validators | readonly GanttBeforeTaskChangeValidator<GanttValidationContext>[] | undefined | No | — | |
onReject | ((rejection: GanttValidationReject) => void) | undefined | No | — |
Related types: GanttBeforeTaskChangeValidator, GanttDateRange, GanttValidationContext, GanttValidationReject, TaskId
DEFAULT_GANTT_DEPENDENCY_TYPES
Section titled “DEFAULT_GANTT_DEPENDENCY_TYPES”constant
export const DEFAULT_GANTT_DEPENDENCY_TYPES: readonly ["finish-to-start", "start-to-start", "finish-to-finish", "start-to-finish"];DEFAULT_TASK_EDITOR_DIALOG_LOCALE_TEXT
Section titled “DEFAULT_TASK_EDITOR_DIALOG_LOCALE_TEXT”constant
export const DEFAULT_TASK_EDITOR_DIALOG_LOCALE_TEXT: GanttTaskEditorDialogLocaleText;Related types: GanttTaskEditorDialogLocaleText
defineGanttToolbar
Section titled “defineGanttToolbar”constant
Mounts the Gantt editing toolbar into el and wires it to the given
revo-grid element. Call this once after the grid’s gantt property
has been set so the toolbar can read the initial visual config.
controls hides built-in controls. Omitted flags are visible by default,
except baseline, which is opt-in.
Example
Section titled “Example”import { defineGanttToolbar } from '@revolist/revogrid-enterprise';
const toolbarEl = document.querySelector('#gantt-toolbar');const grid = document.querySelector('revo-grid');
defineGanttToolbar(toolbarEl, { grid, columns: [ { prop: 'wbs', label: 'WBS', visible: true }, { prop: 'name', label: 'Name', visible: true }, { prop: 'startDate', label: 'Start Date', visible: true }, { prop: 'duration', label: 'Duration', visible: true }, { prop: 'status', label: 'Status', visible: true }, { prop: 'endDate', label: 'End Date', visible: false }, ], visuals: { showDependencies: true, showBaseline: true, showCriticalPath: true, }, controls: { search: true, history: true, undo: true, redo: true, tree: true, expandAll: true, collapseAll: true, zoom: true, zoomIn: true, zoomOut: true, tasks: true, addTask: true, indent: true, outdent: true, export: true, exportExcel: true, columns: true, dependencies: true, baseline: true, criticalPath: true, },});export const defineGanttToolbar: (el: HTMLElement, options: GanttToolbarOptions) => void;Related types: GanttToolbarOptions
DeleteTaskMenuItemOptions
Section titled “DeleteTaskMenuItemOptions”interface
export interface DeleteTaskMenuItemOptions extends GanttContextMenuBaseItemOptions { readonly onDeleteTask: (context: GanttContextMenuExtensionContext) => void; readonly confirm?: (context: GanttContextMenuExtensionContext) => boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
onDeleteTask | (context: GanttContextMenuExtensionContext) => void | Yes | — | |
confirm | ((context: GanttContextMenuExtensionContext) => boolean) | undefined | No | — |
Related types: GanttContextMenuBaseItemOptions, GanttContextMenuExtensionContext
DependencyEndpointPair
Section titled “DependencyEndpointPair”interface
export interface DependencyEndpointPair { readonly predecessor: GanttDependencyEndpoint; readonly successor: GanttDependencyEndpoint;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
predecessor | GanttDependencyEndpoint | Yes | — | |
successor | GanttDependencyEndpoint | Yes | — |
Related types: GanttDependencyEndpoint
dependencyEndpointsToType
Section titled “dependencyEndpointsToType”function
export function dependencyEndpointsToType(predecessor: GanttDependencyEndpoint, successor: GanttDependencyEndpoint): DependencyType;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
predecessor | GanttDependencyEndpoint | Yes | — | |
successor | GanttDependencyEndpoint | Yes | — |
Related types: DependencyType, GanttDependencyEndpoint
dependencyTypeToEndpoints
Section titled “dependencyTypeToEndpoints”function
export function dependencyTypeToEndpoints(type: DependencyType): DependencyEndpointPair;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type | DependencyType | Yes | — |
Related types: DependencyEndpointPair, DependencyType
DependencyValidationSummaryRecipe
Section titled “DependencyValidationSummaryRecipe”interface
export interface DependencyValidationSummaryRecipe { readonly summary: DependencyValidationSummary; readonly hasBlockingConflicts: boolean; readonly badgeLabel: string; readonly focusTaskIds: readonly TaskId[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
summary | DependencyValidationSummary | Yes | — | |
hasBlockingConflicts | boolean | Yes | — | |
badgeLabel | string | Yes | — | |
focusTaskIds | readonly string[] | Yes | — |
Related types: TaskId
DuplicateTaskMenuItemOptions
Section titled “DuplicateTaskMenuItemOptions”interface
export interface DuplicateTaskMenuItemOptions extends GanttContextMenuBaseItemOptions { readonly copyName?: (task: Partial<TaskEntity>, context: GanttContextMenuExtensionContext) => string; readonly createTaskOptions?: ( context: GanttContextMenuExtensionContext, ) => GanttCreateTaskOptions | null | undefined;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
copyName | ((task: Partial<TaskEntity>, context: GanttContextMenuExtensionContext) => string) | undefined | No | — | |
createTaskOptions | ((context: GanttContextMenuExtensionContext) => GanttCreateTaskOptions | null | undefined) | undefined | No | — |
Related types: GanttContextMenuBaseItemOptions, GanttContextMenuExtensionContext, GanttCreateTaskOptions, TaskEntity
exportGanttCsv
Section titled “exportGanttCsv”function
export function exportGanttCsv(grid: HTMLRevoGridElement, options: GanttCsvExportOptions = {}): Promise<boolean>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | GanttCsvExportOptions | No | {} |
Related types: GanttCsvExportOptions
exportGanttExcel
Section titled “exportGanttExcel”function
export function exportGanttExcel(grid: HTMLRevoGridElement, options: GanttExcelExportOptions = {}): CustomEvent<GanttExcelExportOptions>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | ExportExcelEvent | No | {} |
Related types: GanttExcelExportOptions
ExportMenuItemOptions
Section titled “ExportMenuItemOptions”interface
export interface ExportMenuItemOptions extends GanttContextMenuBaseItemOptions { readonly exportOptions?: ExportExcelEvent | ((context: GanttContextMenuExtensionContext) => ExportExcelEvent | undefined);}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
exportOptions | ExportExcelEvent | ((context: GanttContextMenuExtensionContext) => ExportExcelEvent | undefined) | undefined | No | — |
Related types: GanttContextMenuBaseItemOptions, GanttContextMenuExtensionContext
fitGanttToProject
Section titled “fitGanttToProject”function
export function fitGanttToProject(grid: HTMLRevoGridElement, options: GanttProjectFitOptions = {}): Promise<boolean>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | GanttProjectFitOptions | No | {} |
Related types: GanttProjectFitOptions
ForbiddenDateRangeValidatorOptions
Section titled “ForbiddenDateRangeValidatorOptions”interface
export interface ForbiddenDateRangeValidatorOptions { readonly ranges: readonly GanttDateRange[]; readonly actions?: readonly GanttBeforeTaskChangeAction[]; readonly message?: (range: GanttDateRange) => string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
ranges | readonly GanttDateRange[] | Yes | — | |
actions | readonly GanttBeforeTaskChangeAction[] | undefined | No | — | |
message | ((range: GanttDateRange) => string) | undefined | No | — |
Related types: GanttBeforeTaskChangeAction, GanttDateRange
formatGanttPrintRange
Section titled “formatGanttPrintRange”function
export function formatGanttPrintRange(range: GanttPrintDateRange | undefined): string | undefined;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
range | GanttPrintDateRange | undefined | Yes | — |
Related types: GanttPrintDateRange
GANTT_PERSISTENCE_QUICK_WIN_EXAMPLES
Section titled “GANTT_PERSISTENCE_QUICK_WIN_EXAMPLES”constant
export const GANTT_PERSISTENCE_QUICK_WIN_EXAMPLES: readonly GanttPersistenceRecipeMetadata[];Related types: GanttPersistenceRecipeMetadata
GANTT_TOOLBAR_SELECT_ALL_COLUMNS
Section titled “GANTT_TOOLBAR_SELECT_ALL_COLUMNS”constant
export const GANTT_TOOLBAR_SELECT_ALL_COLUMNS: "__select_all__";GanttApprovalRegistry
Section titled “GanttApprovalRegistry”type
export type GanttApprovalRegistry = | Readonly<Record<TaskId, ApprovalRecord | undefined>> | ((detail: GanttBeforeTaskChangeDetail) => ApprovalRecord | null | undefined);Related types: ApprovalRecord, GanttBeforeTaskChangeDetail, TaskId
GanttBaselineCaptureRuntime
Section titled “GanttBaselineCaptureRuntime”interface
export interface GanttBaselineCaptureRuntime { captureBaseline(options?: CaptureBaselineOptions): BaselineSnapshot | null;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
captureBaseline(options?: CaptureBaselineOptions) | BaselineSnapshot | null | Yes | — |
Related types: BaselineSnapshot
GanttColumnPresetRecipe
Section titled “GanttColumnPresetRecipe”interface
export interface GanttColumnPresetRecipe { readonly preset: GanttColumnPresetName; readonly presetProps: readonly GanttColumnPresetProp[]; readonly columns: readonly ColumnRegular[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
preset | GanttColumnPresetName | Yes | — | |
presetProps | readonly GanttColumnPresetProp[] | Yes | — | |
columns | readonly ColumnRegular<ColumnProp, DataType<any, ColumnProp>>[] | Yes | — |
Related types: GanttColumnPresetName, GanttColumnPresetProp
GanttColumnPresetRecipeOptions
Section titled “GanttColumnPresetRecipeOptions”interface
export interface GanttColumnPresetRecipeOptions { readonly preset: GanttColumnPresetName; readonly extraColumns?: readonly ColumnRegular[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
preset | GanttColumnPresetName | Yes | — | |
extraColumns | readonly ColumnRegular<ColumnProp, DataType<any, ColumnProp>>[] | undefined | No | — |
Related types: GanttColumnPresetName
GanttContextMenuBaseItemOptions
Section titled “GanttContextMenuBaseItemOptions”interface
export interface GanttContextMenuBaseItemOptions { readonly name?: ContextMenuItem['name']; readonly class?: string; readonly rowClass?: ContextMenuItem['rowClass']; readonly icon?: string; readonly hidden?: ContextMenuItem['hidden']; readonly keepOpen?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
name | string | ((focused?: Cell | null, range?: RangeArea | null) => string) | undefined | No | — | |
class | string | undefined | No | — | |
rowClass | string | ((item: ContextMenuItem, focused?: Cell | null, range?: RangeArea | null) => string) | undefined | No | — | |
icon | string | undefined | No | — | |
hidden | boolean | ((item: ContextMenuItem, focused?: Cell | null, range?: RangeArea | null) => boolean) | undefined | No | — | |
keepOpen | boolean | undefined | No | — |
GanttContextMenuExtensionContext
Section titled “GanttContextMenuExtensionContext”interface
export interface GanttContextMenuExtensionContext { readonly event: MouseEvent; readonly focused?: Cell | null; readonly range?: RangeArea | null; readonly close?: () => void; readonly revogrid: HTMLRevoGridElement; readonly providers: PluginProviders; readonly taskId: TaskId | null; readonly task: Partial<TaskEntity> | null;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
event | MouseEvent | Yes | — | |
focused | Cell | null | undefined | No | — | |
range | RangeArea | null | undefined | No | — | |
close | (() => void) | undefined | No | — | |
revogrid | HTMLRevoGridElement | Yes | — | |
providers | PluginProviders | Yes | — | |
taskId | string | null | Yes | — | |
task | Partial<TaskEntity> | null | Yes | — |
Related types: TaskEntity, TaskId
GanttContextMenuQuickWinRecipeOptions
Section titled “GanttContextMenuQuickWinRecipeOptions”interface
export interface GanttContextMenuQuickWinRecipeOptions { readonly duplicate?: DuplicateTaskMenuItemOptions | false; readonly delete?: DeleteTaskMenuItemOptions | false; readonly assignResource?: AssignResourceMenuItemOptions | false; readonly export?: ExportMenuItemOptions | false;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
duplicate | false | DuplicateTaskMenuItemOptions | undefined | No | — | |
delete | false | DeleteTaskMenuItemOptions | undefined | No | — | |
assignResource | false | AssignResourceMenuItemOptions | undefined | No | — | |
export | false | ExportMenuItemOptions | undefined | No | — |
Related types: AssignResourceMenuItemOptions, DeleteTaskMenuItemOptions, DuplicateTaskMenuItemOptions, ExportMenuItemOptions
GanttCsvExportOptions
Section titled “GanttCsvExportOptions”interface
export interface GanttCsvExportOptions { filename?: string; bom?: boolean; columnDelimiter?: string; rowDelimiter?: string; mime?: string; encoding?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
filename | string | undefined | No | — | |
bom | boolean | undefined | No | — | |
columnDelimiter | string | undefined | No | — | |
rowDelimiter | string | undefined | No | — | |
mime | string | undefined | No | — | |
encoding | string | undefined | No | — |
GanttDateRange
Section titled “GanttDateRange”interface
export interface GanttDateRange { readonly startDate: ISODateString; readonly endDate: ISODateString; readonly label?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
startDate | ISODateString | Yes | — | |
endDate | ISODateString | Yes | — | |
label | string | undefined | No | — |
GanttDependencyDropdownConfig
Section titled “GanttDependencyDropdownConfig”interface
export interface GanttDependencyDropdownConfig { readonly tasks: readonly GanttDependencyDropdownTaskOption[]; readonly getTasks?: () => readonly GanttDependencyDropdownTaskOption[]; readonly allowedTypes?: readonly DependencyType[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
tasks | readonly GanttDependencyDropdownTaskOption[] | Yes | — | |
getTasks | (() => readonly GanttDependencyDropdownTaskOption[]) | undefined | No | — | |
allowedTypes | readonly DependencyType[] | undefined | No | — |
Related types: DependencyType, GanttDependencyDropdownTaskOption
GanttDependencyDropdownControl
Section titled “GanttDependencyDropdownControl”function
export function GanttDependencyDropdownControl({ getOptions, currentTaskId, value, rawValue, allowedTypes, displayValue, autoOpen = false, theme, onChange, onClose,}: GanttDependencyDropdownControlProps): h.JSX.Element;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
{ getOptions, currentTaskId, value, rawValue, allowedTypes, displayValue, autoOpen = false, theme, onChange, onClose, } | GanttDependencyDropdownControlProps | Yes | — |
Related types: GanttDependencyDropdownControlProps
GanttDependencyDropdownControlProps
Section titled “GanttDependencyDropdownControlProps”interface
export interface GanttDependencyDropdownControlProps { readonly getOptions: () => readonly GanttDependencyDropdownTaskOption[]; readonly currentTaskId: TaskId; readonly value: readonly GanttDependencyDropdownValue[]; readonly rawValue?: unknown; readonly allowedTypes: readonly DependencyType[]; readonly displayValue: string; readonly autoOpen?: boolean; readonly theme?: string; readonly onChange: (value: readonly GanttDependencyDropdownValue[]) => void; readonly onClose?: (focusNext?: boolean) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
getOptions | () => readonly GanttDependencyDropdownTaskOption[] | Yes | — | |
currentTaskId | string | Yes | — | |
value | readonly GanttDependencyDropdownValue[] | Yes | — | |
rawValue | unknown | No | — | |
allowedTypes | readonly DependencyType[] | Yes | — | |
displayValue | string | Yes | — | |
autoOpen | boolean | undefined | No | — | |
theme | string | undefined | No | — | |
onChange | (value: readonly GanttDependencyDropdownValue[]) => void | Yes | — | |
onClose | ((focusNext?: boolean) => void) | undefined | No | — |
Related types: DependencyType, GanttDependencyDropdownTaskOption, GanttDependencyDropdownValue, TaskId
GanttDependencyDropdownTaskOption
Section titled “GanttDependencyDropdownTaskOption”interface
export interface GanttDependencyDropdownTaskOption { readonly taskId: TaskId; readonly wbs: string; readonly name: string; readonly label: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskId | string | Yes | — | |
wbs | string | Yes | — | |
name | string | Yes | — | |
label | string | Yes | — |
Related types: TaskId
GanttDependencyDropdownValue
Section titled “GanttDependencyDropdownValue”interface
export interface GanttDependencyDropdownValue { readonly taskId: TaskId; readonly type: DependencyType; readonly lagDays?: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskId | string | Yes | — | |
type | DependencyType | Yes | — | |
lagDays | number | undefined | No | — |
Related types: DependencyType, TaskId
GanttDependencyEndpoint
Section titled “GanttDependencyEndpoint”type
export type GanttDependencyEndpoint = 'start' | 'finish';GanttExcelExportOptions
Section titled “GanttExcelExportOptions”type
export type GanttExcelExportOptions = ExportExcelEvent;GanttExcelExportRecipe
Section titled “GanttExcelExportRecipe”interface
export interface GanttExcelExportRecipe { readonly rows: readonly GanttExcelExportRow[]; readonly fieldNames: readonly (keyof GanttExcelExportRow)[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
rows | readonly GanttExcelExportRow[] | Yes | — | |
fieldNames | readonly (keyof GanttExcelExportRow)[] | Yes | — |
GanttExcelExportRecipeOptions
Section titled “GanttExcelExportRecipeOptions”interface
export interface GanttExcelExportRecipeOptions extends GanttExcelMappingOptions { readonly rows: readonly GanttGridRow[]; readonly project: ProjectSnapshot;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
rows | readonly GanttGridRow[] | Yes | — | |
project | ProjectSnapshot | Yes | — |
Related types: GanttGridRow, ProjectSnapshot
GanttPanelResizeDetail
Section titled “GanttPanelResizeDetail”interface
Payload emitted with each gantt-panel-resize event.
export interface GanttPanelResizeDetail { /** The current width of the gantt panel in pixels. */ readonly width: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
width | number | Yes | — | The current width of the gantt panel in pixels. |
GanttPanelResizePlugin
Section titled “GanttPanelResizePlugin”class
GanttPanelResizePlugin adds a drag handle on the left edge of the pinned-end (gantt chart) viewport, allowing the user to resize the split between the task-list columns (rgCol) and the gantt chart (colPinEnd).
Dragging the handle left expands the gantt panel; dragging right shrinks it.
An gantt-panel-resize event is emitted on the revogrid element during and
after each drag with { width: number } in its detail.
export class GanttPanelResizePlugin extends CorePlugin { constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: GanttPanelResizePluginConfig); setPanelWidth(width: number): void; getPanelWidth(): number | null; destroy(): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
handle | HTMLDivElement | Yes | — | |
ghost | HTMLDivElement | Yes | — | |
taskListScroll | PanelScrollElement | Yes | — | |
timelineScroll | PanelScrollElement | Yes | — | |
rAFId | number | null | Yes | null | |
dragRafId | number | null | Yes | null | |
dragWidth | number | null | Yes | null | |
dragColPinEnd | HTMLElement | null | Yes | null | |
isDragging | boolean | Yes | false | |
isDestroyed | boolean | Yes | false | |
pendingInitialWidth | string | number | null | Yes | null | |
fullWidthBecauseNoTaskColumns | boolean | Yes | false | |
desiredPanelWidth | number | null | Yes | null | |
lastTaskListPanelWidth | number | null | Yes | null | |
lastTaskListViewportWidth | number | null | Yes | null | |
lastAppliedTaskListViewportWidth | number | null | Yes | null | |
pendingPanelForward | { side: PanelScrollSide; coordinate: number; } | null | Yes | null | |
setPanelWidth(width: number) | void | Yes | — | Programmatically set the gantt panel width. |
getPanelWidth() | number | null | Yes | — | Returns the current gantt panel (colPinEnd) width in pixels, or null if the viewport is not yet rendered. |
destroy() | void | Yes | — | |
createPanelScroll(side: PanelScrollSide) | PanelScrollElement | Yes | — | |
applyInitialWidth(initialWidth: number | string) | boolean | Yes | — | |
getColPinEnd() | HTMLElement | null | Yes | — | |
getRgCol() | HTMLElement | null | Yes | — | |
schedulePositionUpdate() | void | Yes | — | |
updateHandlePosition() | void | Yes | — | |
onPointerDown | (e: PointerEvent) => void | Yes | (e: PointerEvent): void => { const colPinEnd = this.getColPinEnd(); if (!colPinEnd || !this.hasVisibleTaskListColumns()) return; e.preventDefault(); this.isDragging = true; this.dragColPinEnd = colPinEnd; this.handle.classList.add('is-dragging'); const startX = e.clientX; const startWidth = colPinEnd.getBoundingClientRect().width; this.dragWidth = startWidth; this.updateGhostPosition(startWidth, colPinEnd); this.handle.setPointerCapture(e.pointerId); const onPointerMove = (moveEvent: PointerEvent): void => { // Dragging left = positive delta = wider gantt pane const delta = startX - moveEvent.clientX; const nextWidth = this.clampWidth(startWidth + delta, colPinEnd); this.dragWidth = nextWidth; this.scheduleDragUpdate(); }; const onPointerUp = (): void => { this.applyPendingDragWidth(); this.isDragging = false; this.dragColPinEnd = null; this.dragWidth = null; this.ghost.style.display = 'none'; this.handle.classList.remove('is-dragging'); if (this.handle.hasPointerCapture(e.pointerId)) { this.handle.releasePointerCapture(e.pointerId); } this.handle.removeEventListener('pointermove', onPointerMove); this.handle.removeEventListener('pointerup', onPointerUp); this.handle.removeEventListener('pointercancel', onPointerUp); this.schedulePositionUpdate(); }; this.handle.addEventListener('pointermove', onPointerMove); this.handle.addEventListener('pointerup', onPointerUp); this.handle.addEventListener('pointercancel', onPointerUp); } | |
clampWidth(desiredWidth: number, _colPinEnd: HTMLElement) | number | Yes | — | |
scheduleDragUpdate() | void | Yes | — | |
flushDragPreview() | void | Yes | — | |
applyPendingDragWidth() | void | Yes | — | |
applyPanelWidth(colPinEnd: HTMLElement, width: number, emitEvent = true, rememberWidth = true) | void | Yes | — | |
updateGhostPosition(width: number, colPinEnd: HTMLElement) | void | Yes | — | |
syncGridStoresWithPanelWidth(width: number) | boolean | Yes | — | |
syncPanelScrollbars() | void | Yes | — | |
syncPanelScrollbar(side: PanelScrollSide) | void | Yes | — | |
getViewportBounds(viewport: HTMLElement) | { left: number; bottom: number; width: number } | Yes | — | |
getHorizontalRealSize(side: PanelScrollSide) | number | Yes | — | |
onTaskListPanelScroll | (event: Event) => void | Yes | (event: Event): void => { this.forwardPanelScroll('task-list', event as CustomEvent<{ dimension?: unknown; coordinate?: unknown }>); } | |
onTimelinePanelScroll | (event: Event) => void | Yes | (event: Event): void => { this.forwardPanelScroll('timeline', event as CustomEvent<{ dimension?: unknown; coordinate?: unknown }>); } | |
onTaskListPanelNativeScroll | () => void | Yes | (): void => { this.syncViewportLeftEdgeFromPanel('task-list'); this.scheduleViewportLeftEdgeSyncFromPanel('task-list'); } | |
onTimelinePanelNativeScroll | () => void | Yes | (): void => { this.syncViewportLeftEdgeFromPanel('timeline'); this.scheduleViewportLeftEdgeSyncFromPanel('timeline'); } | |
syncViewportLeftEdgeFromPanel(side: PanelScrollSide) | void | Yes | — | |
scheduleViewportLeftEdgeSyncFromPanel(side: PanelScrollSide) | void | Yes | — | |
forwardPanelScroll(side: PanelScrollSide, event: CustomEvent<{ dimension?: unknown; coordinate?: unknown }>) | void | Yes | — | |
syncPanelScrollFromViewport(event: CustomEvent<{ dimension?: unknown; coordinate?: unknown }>) | void | Yes | — | |
syncTimelineWidthWithTaskColumns() | void | Yes | — | |
getPanelWidthForTaskListAnchor(gridWidth: number) | number | null | Yes | — | |
getCurrentPanelWidth(colPinEnd: HTMLElement) | number | Yes | — | |
getMinimumTaskListWidth() | number | Yes | — | |
hasVisibleTaskListColumns() | boolean | Yes | — | |
hasVisibleColumnsInDimension(type: TaskListColumnType) | boolean | null | Yes | — | |
emitResizeEvent(width: number) | void | Yes | — |
Related types: GanttPanelResizePluginConfig
GanttPanelResizePluginConfig
Section titled “GanttPanelResizePluginConfig”interface
export interface GanttPanelResizePluginConfig { /** * Initial width of the gantt (colPinEnd) panel in pixels or as a percentage * of the grid width (e.g. `"40%"`). * Defaults to the current rendered width of the panel. */ initialWidth?: number | string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
initialWidth | string | number | undefined | No | — | Initial width of the gantt (colPinEnd) panel in pixels or as a percentage of the grid width (e.g. "40%"). Defaults to the current rendered width of the panel. |
GanttPdfExcelReportingExportOptions
Section titled “GanttPdfExcelReportingExportOptions”interface
export interface GanttPdfExcelReportingExportOptions { readonly range?: GanttPrintDateRange; readonly excel?: GanttExcelExportOptions;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
range | GanttPrintDateRange | undefined | No | — | |
excel | ExportExcelEvent | undefined | No | — |
Related types: GanttExcelExportOptions, GanttPrintDateRange
GanttPdfExcelReportingRecipe
Section titled “GanttPdfExcelReportingRecipe”interface
export interface GanttPdfExcelReportingRecipe { exportPdf(project: ProjectSnapshot, range?: GanttPrintDateRange): GanttPrintResult; exportExcel(options?: GanttExcelExportOptions): CustomEvent<GanttExcelExportOptions>; exportReport(project: ProjectSnapshot, options?: GanttPdfExcelReportingExportOptions): { readonly pdf: GanttPrintResult; readonly excel: CustomEvent<GanttExcelExportOptions>; };}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
exportPdf(project: ProjectSnapshot, range?: GanttPrintDateRange) | GanttPrintResult | Yes | — | |
exportExcel(options?: GanttExcelExportOptions) | CustomEvent<GanttExcelExportOptions> | Yes | — | |
exportReport(project: ProjectSnapshot, options?: GanttPdfExcelReportingExportOptions) | { readonly pdf: GanttPrintResult; readonly excel: CustomEvent<GanttExcelExportOptions>; } | Yes | — |
Related types: GanttExcelExportOptions, GanttPdfExcelReportingExportOptions, GanttPrintDateRange, GanttPrintResult, ProjectSnapshot
GanttPdfExcelReportingRecipeOptions
Section titled “GanttPdfExcelReportingRecipeOptions”interface
export interface GanttPdfExcelReportingRecipeOptions { readonly grid: HTMLRevoGridElement; readonly target: Element | null | undefined; readonly document?: Document; readonly window?: GanttPrintOptions['window']; readonly now?: () => Date | string; readonly pdf?: Omit<GanttPrintOptions, 'document' | 'window' | 'metadata'>; readonly excel?: GanttExcelExportOptions;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
target | Element | null | undefined | Yes | — | |
document | Document | undefined | No | — | |
window | GanttPrintWindow | undefined | No | — | |
now | (() => Date | string) | undefined | No | — | |
pdf | Omit<GanttPrintOptions, "window" | "document" | "metadata"> | undefined | No | — | |
excel | ExportExcelEvent | undefined | No | — |
Related types: GanttExcelExportOptions, GanttPrintOptions
GanttPersistenceRecipeChannel
Section titled “GanttPersistenceRecipeChannel”type
export type GanttPersistenceRecipeChannel = | 'persistence' | 'export' | 'reporting' | 'framework';GanttPersistenceRecipeFramework
Section titled “GanttPersistenceRecipeFramework”type
export type GanttPersistenceRecipeFramework = | 'framework-neutral' | 'svelte' | 'vanilla';GanttPersistenceRecipeId
Section titled “GanttPersistenceRecipeId”type
export type GanttPersistenceRecipeId = | 'rest-project-snapshot' | 'graphql-project-snapshot' | 'supabase-postgres-project-snapshot' | 'postgres-sql-project-snapshot' | 'print-pdf-export' | 'json-snapshot-helpers' | 'portal-svelte-gantt' | 'portal-resource-filter';GanttPersistenceRecipeMetadata
Section titled “GanttPersistenceRecipeMetadata”interface
export interface GanttPersistenceRecipeMetadata { readonly id: GanttPersistenceRecipeId; readonly title: string; readonly channel: GanttPersistenceRecipeChannel; readonly frameworks: readonly GanttPersistenceRecipeFramework[]; readonly sourceFiles: readonly string[]; readonly dependencies: readonly string[]; readonly summary: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | GanttPersistenceRecipeId | Yes | — | |
title | string | Yes | — | |
channel | GanttPersistenceRecipeChannel | Yes | — | |
frameworks | readonly GanttPersistenceRecipeFramework[] | Yes | — | |
sourceFiles | readonly string[] | Yes | — | |
dependencies | readonly string[] | Yes | — | |
summary | string | Yes | — |
Related types: GanttPersistenceRecipeChannel, GanttPersistenceRecipeFramework, GanttPersistenceRecipeId
GanttPrintableMetadata
Section titled “GanttPrintableMetadata”interface
export interface GanttPrintableMetadata { readonly title: string; readonly subtitle?: string; readonly range?: GanttPrintDateRange; readonly rangeLabel?: string; readonly printedAt?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
title | string | Yes | — | |
subtitle | string | undefined | No | — | |
range | GanttPrintDateRange | undefined | No | — | |
rangeLabel | string | undefined | No | — | |
printedAt | string | undefined | No | — |
Related types: GanttPrintDateRange
GanttPrintableMetadataOptions
Section titled “GanttPrintableMetadataOptions”interface
export interface GanttPrintableMetadataOptions { readonly title?: string; readonly subtitle?: string; readonly range?: GanttPrintDateRange; readonly printedAt?: Date | string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
title | string | undefined | No | — | |
subtitle | string | undefined | No | — | |
range | GanttPrintDateRange | undefined | No | — | |
printedAt | string | Date | undefined | No | — |
Related types: GanttPrintDateRange
GanttPrintDateRange
Section titled “GanttPrintDateRange”interface
export interface GanttPrintDateRange { readonly startDate?: ISODateString; readonly endDate?: ISODateString; readonly label?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
startDate | ISODateString | undefined | No | — | |
endDate | ISODateString | undefined | No | — | |
label | string | undefined | No | — |
GanttPrintOptions
Section titled “GanttPrintOptions”interface
export interface GanttPrintOptions extends GanttPrintStyleOptions { readonly metadata?: GanttPrintableMetadataOptions; readonly document?: Document; readonly window?: GanttPrintWindow; readonly cleanupDelayMs?: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPrintableMetadataOptions | undefined | No | — | |
document | Document | undefined | No | — | |
window | GanttPrintWindow | undefined | No | — | |
cleanupDelayMs | number | undefined | No | — |
Related types: GanttPrintStyleOptions, GanttPrintWindow, GanttPrintableMetadataOptions
GanttPrintOrientation
Section titled “GanttPrintOrientation”type
export type GanttPrintOrientation = 'portrait' | 'landscape';GanttPrintPdfRecipe
Section titled “GanttPrintPdfRecipe”interface
export interface GanttPrintPdfRecipe { readonly metadata: GanttPersistenceRecipeMetadata; exportProject(project: ProjectSnapshot, range?: GanttPrintDateRange): GanttPrintResult;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPersistenceRecipeMetadata | Yes | — | |
exportProject(project: ProjectSnapshot, range?: GanttPrintDateRange) | GanttPrintResult | Yes | — |
Related types: GanttPersistenceRecipeMetadata, GanttPrintDateRange, GanttPrintResult, ProjectSnapshot
GanttPrintPdfRecipeOptions
Section titled “GanttPrintPdfRecipeOptions”interface
export interface GanttPrintPdfRecipeOptions { readonly target: Element | null | undefined; readonly document?: Document; readonly window?: GanttPrintOptions['window']; readonly now?: () => Date | string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
target | Element | null | undefined | Yes | — | |
document | Document | undefined | No | — | |
window | GanttPrintWindow | undefined | No | — | |
now | (() => Date | string) | undefined | No | — |
Related types: GanttPrintOptions
GanttPrintResult
Section titled “GanttPrintResult”interface
export interface GanttPrintResult { readonly ok: boolean; readonly reason?: 'missing-target' | 'missing-document' | 'missing-window-print' | 'print-failed'; readonly error?: unknown;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
ok | boolean | Yes | — | |
reason | "missing-target" | "missing-document" | "missing-window-print" | "print-failed" | undefined | No | — | |
error | unknown | No | — |
GanttPrintStyleOptions
Section titled “GanttPrintStyleOptions”interface
export interface GanttPrintStyleOptions { readonly pageSize?: string; readonly orientation?: GanttPrintOrientation; readonly margin?: string; readonly printRootClass?: string; readonly printHeaderClass?: string; readonly hideSelectors?: readonly string[]; readonly preserveColor?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
pageSize | string | undefined | No | — | |
orientation | GanttPrintOrientation | undefined | No | — | |
margin | string | undefined | No | — | |
printRootClass | string | undefined | No | — | |
printHeaderClass | string | undefined | No | — | |
hideSelectors | readonly string[] | undefined | No | — | |
preserveColor | boolean | undefined | No | — |
Related types: GanttPrintOrientation
GanttPrintWindow
Section titled “GanttPrintWindow”interface
export interface GanttPrintWindow { print(): void; addEventListener?(type: 'afterprint', listener: () => void, options?: AddEventListenerOptions): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
print() | void | Yes | — | |
addEventListener(type: 'afterprint', listener: () => void, options?: AddEventListenerOptions) | void | Yes | — |
GanttProjectFitOptions
Section titled “GanttProjectFitOptions”interface
export interface GanttProjectFitOptions extends GanttTimelineNavigationOptions { viewportWidth?: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
viewportWidth | number | undefined | No | — |
Related types: GanttTimelineNavigationOptions
GanttRoleBasedEditabilityRecipe
Section titled “GanttRoleBasedEditabilityRecipe”interface
export interface GanttRoleBasedEditabilityRecipe { readonly policy: GanttRoleEditabilityPolicy; readonly handlers: { readonly [GANTT_BEFORE_TASK_CHANGE_EVENT]: (event: GanttExampleCancelableEvent<GanttBeforeTaskChangeDetail>) => void; readonly [GANTT_BEFORE_DEPENDENCY_CHANGE_EVENT]: ( event: GanttExampleCancelableEvent<GanttBeforeDependencyChangeDetail>, ) => void; readonly [GANTT_BEFORE_ASSIGNMENT_CHANGE_EVENT]: ( event: GanttExampleCancelableEvent<GanttBeforeAssignmentChangeDetail>, ) => void; }; readonly canEdit: <TEventName extends GanttBeforeChangeEventName>( eventName: TEventName, detail: Pick<GanttBeforeChangeDetailByEventName[TEventName], 'action'>, ) => boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
policy | GanttRoleEditabilityPolicy | Yes | — | |
handlers | { readonly "gantt-before-task-change": (event: GanttExampleCancelableEvent<GanttBeforeTaskChangeDetail>) => void; readonly "gantt-before-dependency-change": (event: GanttExampleCancelableEvent<GanttBeforeDependencyChangeDetail>) => void; readonly "gantt-before-assignment-change": (event: GanttExampleCancelableEvent<GanttBeforeAssignmentChangeDetail>) => void; } | Yes | — | |
canEdit | <TEventName extends GanttBeforeChangeEventName>(eventName: TEventName, detail: Pick<GanttBeforeChangeDetailByEventName[TEventName], "action">) => boolean | Yes | — |
Related types: GanttBeforeAssignmentChangeDetail, GanttBeforeDependencyChangeDetail, GanttBeforeTaskChangeDetail, GanttExampleCancelableEvent
GanttRoleBasedEditabilityRecipeOptions
Section titled “GanttRoleBasedEditabilityRecipeOptions”interface
export interface GanttRoleBasedEditabilityRecipeOptions { readonly policy?: GanttRoleEditabilityPolicy; readonly getRoleContext: () => GanttRoleEditabilityContext; readonly onDeny?: ( eventName: GanttBeforeChangeEventName, detail: GanttBeforeChangeDetailByEventName[GanttBeforeChangeEventName], ) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
policy | GanttRoleEditabilityPolicy | undefined | No | — | |
getRoleContext | () => GanttRoleEditabilityContext | Yes | — | |
onDeny | ((eventName: GanttBeforeChangeEventName, detail: GanttBeforeChangeDetailByEventName[GanttBeforeChangeEventName]) => void) | undefined | No | — |
GanttTaskEditorControlId
Section titled “GanttTaskEditorControlId”type
export type GanttTaskEditorControlId = | 'header' | 'title' | 'description' | 'close' | 'tabs' | 'validation' | 'preview' | 'reset' | 'apply' | 'footer';GanttTaskEditorDialog
Section titled “GanttTaskEditorDialog”function
export function GanttTaskEditorDialog({ grid, task, tasks, resources, assignments, dependencies, project, allowedTaskTypes, calendars, options, open, status, onClose, onReset, onSubmit,}: GanttTaskEditorDialogProps): h.JSX.Element | null;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
{ grid, task, tasks, resources, assignments, dependencies, project, allowedTaskTypes, calendars, options, open, status, onClose, onReset, onSubmit, } | GanttTaskEditorDialogProps | Yes | — |
GanttTaskEditorDialogCustomization
Section titled “GanttTaskEditorDialogCustomization”interface
export interface GanttTaskEditorDialogCustomization { readonly tabs?: GanttTaskEditorTabsOptions; readonly controls?: Partial<Record<GanttTaskEditorControlId, boolean>>; readonly editor?: GanttTaskEditorDomRenderer;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
tabs | GanttTaskEditorTabsOptions | undefined | No | — | |
controls | Partial<Record<GanttTaskEditorControlId, boolean>> | undefined | No | — | |
editor | GanttTaskEditorDomRenderer | undefined | No | — |
Related types: GanttTaskEditorControlId, GanttTaskEditorDomRenderer, GanttTaskEditorTabsOptions
ganttTaskEditorDialogDependencies
Section titled “ganttTaskEditorDialogDependencies”constant
export const ganttTaskEditorDialogDependencies: PluginDependency[];GanttTaskEditorDialogDependencyDraft
Section titled “GanttTaskEditorDialogDependencyDraft”interface
export interface GanttTaskEditorDialogDependencyDraft { readonly id?: DependencyId; readonly predecessorTaskId: TaskId | ''; readonly successorTaskId: TaskId | ''; readonly type: DependencyType; readonly lagDays: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | string | undefined | No | — | |
predecessorTaskId | string | Yes | — | |
successorTaskId | string | Yes | — | |
type | DependencyType | Yes | — | |
lagDays | number | Yes | — |
Related types: DependencyId, DependencyType, TaskId
GanttTaskEditorDialogLocaleText
Section titled “GanttTaskEditorDialogLocaleText”interface
export interface GanttTaskEditorDialogLocaleText { readonly title: string; readonly description: string; readonly fallbackTaskTitle: string; readonly closeLabel: string; readonly closeButtonText: string; readonly applyLabel: string; readonly resetLabel: string; readonly menuItemName: string; readonly tabListAriaLabel: string; readonly readOnlyLabel: string; readonly noResourcesAvailable: string; readonly noAssignedResources: string; readonly assignedResourcesAriaLabel: string; readonly projectDefaultOption: string; readonly noConstraintOption: string; readonly timeToggleLabel: string; readonly switchOnLabel: string; readonly switchOffLabel: string; readonly manualSchedulingOnLabel: string; readonly manualSchedulingOffLabel: string; readonly dependencyTargetLabel: { readonly predecessors: string; readonly successors: string; }; readonly dependencyEmptyLabel: { readonly predecessors: string; readonly successors: string; }; readonly dependencySearch: { readonly predecessors: GanttTaskEditorDialogSearchText; readonly successors: GanttTaskEditorDialogSearchText; }; readonly resourcesSearch: GanttTaskEditorDialogSearchText; readonly dependencyTypeLabel: string; readonly dependencyLagDaysLabel: string; readonly removeDependencyLabel: (targetLabel: string) => string; readonly removeDependencyButton: string; readonly addDependencyButton: { readonly predecessors: string; readonly successors: string; }; readonly tabs: Record<TaskEditorTabId, string>; readonly dependencyTypes: Record<DependencyType, string>; readonly fields: Partial<Record<TaskEditorFieldId, string>>; readonly fieldOptions: Partial<Record<TaskEditorFieldId, readonly TaskEditorFieldOption[]>>; readonly status: GanttTaskEditorDialogStatusText; readonly validation: GanttTaskEditorDialogValidationText;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
title | string | Yes | — | |
description | string | Yes | — | |
fallbackTaskTitle | string | Yes | — | |
closeLabel | string | Yes | — | |
closeButtonText | string | Yes | — | |
applyLabel | string | Yes | — | |
resetLabel | string | Yes | — | |
menuItemName | string | Yes | — | |
tabListAriaLabel | string | Yes | — | |
readOnlyLabel | string | Yes | — | |
noResourcesAvailable | string | Yes | — | |
noAssignedResources | string | Yes | — | |
assignedResourcesAriaLabel | string | Yes | — | |
projectDefaultOption | string | Yes | — | |
noConstraintOption | string | Yes | — | |
timeToggleLabel | string | Yes | — | |
switchOnLabel | string | Yes | — | |
switchOffLabel | string | Yes | — | |
manualSchedulingOnLabel | string | Yes | — | |
manualSchedulingOffLabel | string | Yes | — | |
dependencyTargetLabel | { readonly predecessors: string; readonly successors: string; } | Yes | — | |
dependencyEmptyLabel | { readonly predecessors: string; readonly successors: string; } | Yes | — | |
dependencySearch | { readonly predecessors: GanttTaskEditorDialogSearchText; readonly successors: GanttTaskEditorDialogSearchText; } | Yes | — | |
resourcesSearch | GanttTaskEditorDialogSearchText | Yes | — | |
dependencyTypeLabel | string | Yes | — | |
dependencyLagDaysLabel | string | Yes | — | |
removeDependencyLabel | (targetLabel: string) => string | Yes | — | |
removeDependencyButton | string | Yes | — | |
addDependencyButton | { readonly predecessors: string; readonly successors: string; } | Yes | — | |
tabs | Record<TaskEditorTabId, string> | Yes | — | |
dependencyTypes | Record<DependencyType, string> | Yes | — | |
fields | Partial<Record<TaskEditorFieldId, string>> | Yes | — | |
fieldOptions | Partial<Record<TaskEditorFieldId, readonly TaskEditorFieldOption<string>[]>> | Yes | — | |
status | GanttTaskEditorDialogStatusText | Yes | — | |
validation | GanttTaskEditorDialogValidationText | Yes | — |
Related types: DependencyType, GanttTaskEditorDialogSearchText, GanttTaskEditorDialogStatusText, GanttTaskEditorDialogValidationText
GanttTaskEditorDialogLocaleTextOptions
Section titled “GanttTaskEditorDialogLocaleTextOptions”type
export type GanttTaskEditorDialogLocaleTextOptions = Partial<Omit< GanttTaskEditorDialogLocaleText, | 'dependencyTargetLabel' | 'dependencyEmptyLabel' | 'dependencySearch' | 'resourcesSearch' | 'addDependencyButton' | 'tabs' | 'dependencyTypes' | 'fields' | 'fieldOptions' | 'status' | 'validation'>> & { readonly dependencyTargetLabel?: Partial<GanttTaskEditorDialogLocaleText['dependencyTargetLabel']>; readonly dependencyEmptyLabel?: Partial<GanttTaskEditorDialogLocaleText['dependencyEmptyLabel']>; readonly dependencySearch?: { readonly predecessors?: Partial<GanttTaskEditorDialogSearchText>; readonly successors?: Partial<GanttTaskEditorDialogSearchText>; }; readonly resourcesSearch?: Partial<GanttTaskEditorDialogSearchText>; readonly addDependencyButton?: Partial<GanttTaskEditorDialogLocaleText['addDependencyButton']>; readonly tabs?: Partial<Record<TaskEditorTabId, string>>; readonly dependencyTypes?: Partial<Record<DependencyType, string>>; readonly fields?: Partial<Record<TaskEditorFieldId, string>>; readonly fieldOptions?: Partial<Record<TaskEditorFieldId, readonly TaskEditorFieldOption[]>>; readonly status?: Partial<GanttTaskEditorDialogStatusText>; readonly validation?: Partial<GanttTaskEditorDialogValidationText>;};Related types: DependencyType, GanttTaskEditorDialogLocaleText, GanttTaskEditorDialogSearchText, GanttTaskEditorDialogStatusText, GanttTaskEditorDialogValidationText
GanttTaskEditorDialogOptions
Section titled “GanttTaskEditorDialogOptions”interface
export interface GanttTaskEditorDialogOptions { readonly fields?: readonly TaskEditorFieldId[]; readonly localeText?: GanttTaskEditorDialogLocaleTextOptions; readonly menuItemName?: string; readonly title?: string; readonly description?: string; readonly applyLabel?: string; readonly resetLabel?: string; readonly closeLabel?: string; /** * Controls the packaged row context-menu entry for opening the task editor. * Defaults to the Gantt context-menu setting. Set to `false` to remove only * the editor menu item, or `true` to keep it when `gantt.contextMenu` is * disabled. */ readonly contextMenu?: boolean; /** * Opens the dialog immediately after the Gantt plugin creates a task. Defaults * to `true`. Set to `false` to keep task creation silent. This * covers task creation from the toolbar, row context menu, and custom * dispatches of the task-create event. */ readonly openOnCreate?: boolean; /** * Controls the built-in resource assignment picker. Set to `false` to keep * the resources field read-only. */ readonly resources?: false | GanttTaskEditorDialogResourcesOptions; /** * Shows the normalized TaskUpdate JSON preview. Intended for documentation, * diagnostics, and custom developer tooling; hidden by default for end-user UI. */ readonly preview?: boolean; readonly readOnly?: boolean; readonly onSubmit?: (context: GanttTaskEditorDialogSubmitContext) => boolean | void | Promise<boolean | void>; readonly getTask?: (taskId: TaskId, grid: HTMLRevoGridElement) => TaskEntity | null | undefined; readonly customization?: GanttTaskEditorDialogCustomization;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
fields | readonly TaskEditorFieldId[] | undefined | No | — | |
localeText | GanttTaskEditorDialogLocaleTextOptions | undefined | No | — | |
menuItemName | string | undefined | No | — | |
title | string | undefined | No | — | |
description | string | undefined | No | — | |
applyLabel | string | undefined | No | — | |
resetLabel | string | undefined | No | — | |
closeLabel | string | undefined | No | — | |
contextMenu | boolean | undefined | No | — | Controls the packaged row context-menu entry for opening the task editor. Defaults to the Gantt context-menu setting. Set to false to remove only the editor menu item, or true to keep it when gantt.contextMenu is disabled. |
openOnCreate | boolean | undefined | No | — | Opens the dialog immediately after the Gantt plugin creates a task. Defaults to true. Set to false to keep task creation silent. This covers task creation from the toolbar, row context menu, and custom dispatches of the task-create event. |
resources | false | GanttTaskEditorDialogResourcesOptions | undefined | No | — | Controls the built-in resource assignment picker. Set to false to keep the resources field read-only. |
preview | boolean | undefined | No | — | Shows the normalized TaskUpdate JSON preview. Intended for documentation, diagnostics, and custom developer tooling; hidden by default for end-user UI. |
readOnly | boolean | undefined | No | — | |
onSubmit | ((context: GanttTaskEditorDialogSubmitContext) => boolean | void | Promise<boolean | void>) | undefined | No | — | |
getTask | ((taskId: TaskId, grid: HTMLRevoGridElement) => TaskEntity | null | undefined) | undefined | No | — | |
customization | GanttTaskEditorDialogCustomization | undefined | No | — |
Related types: GanttTaskEditorDialogCustomization, GanttTaskEditorDialogLocaleTextOptions, GanttTaskEditorDialogResourcesOptions, GanttTaskEditorDialogSubmitContext, TaskEntity, TaskId, TaskUpdate
GanttTaskEditorDialogPlugin
Section titled “GanttTaskEditorDialogPlugin”class
export class GanttTaskEditorDialogPlugin extends CorePlugin { pluginDependencies: PluginDependency[]; constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders); openTask(taskId: TaskId | null): void; closeTaskEditor(): void; destroy(): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
pluginDependencies | PluginDependency[] | Yes | ganttTaskEditorDialogDependencies | |
host | HTMLDivElement | Yes | document.createElement('div') | |
originalRowContextMenu | ContextMenuConfig | undefined | Yes | — | |
appliedRowContextMenu | ContextMenuConfig | null | Yes | null | |
selectedTaskId | string | null | Yes | null | |
recentCreatedTasks | Map<string, TaskEntity> | Yes | new Map<TaskId, TaskEntity>() | |
status | string | Yes | DEFAULT_TASK_EDITOR_DIALOG_LOCALE_TEXT.status.ready | |
open | boolean | Yes | false | |
renderKey | number | Yes | 0 | |
taskEditorDialogOptions | GanttTaskEditorDialogOptions | Yes | DEFAULT_TASK_EDITOR_DIALOG_OPTIONS | |
ganttConfig | GanttPluginConfig | undefined | Yes | — | |
openTask(taskId: TaskId | null) | void | Yes | — | |
closeTaskEditor() | void | Yes | — | |
destroy() | void | Yes | — | |
removeContextMenu() | void | Yes | — | |
isContextMenuEnabled() | boolean | Yes | — | |
getTaskRuntime() | GanttTaskRuntime | undefined | Yes | — | |
getCurrentProjectSnapshot() | ProjectSnapshot | null | Yes | — | |
getCurrentTasks() | readonly TaskEntity[] | Yes | — | |
getCurrentResources() | readonly ResourceEntity[] | Yes | — | |
getCurrentAssignments() | readonly AssignmentEntity[] | Yes | — | |
getCurrentDependencies() | readonly DependencyEntity[] | Yes | — | |
getCurrentCalendars() | readonly CalendarEntity[] | Yes | — | |
deleteUnsavedCreatedTask() | void | Yes | — | |
getTaskRowIndex(taskId: TaskId) | number | null | Yes | — | |
applyTaskPatch(task: TaskEntity, patch: TaskUpdate) | boolean | Yes | — | |
getTask(taskId: TaskId) | TaskEntity | null | Yes | — | |
isReadOnly() | boolean | Yes | — | |
createNextAssignments(taskId: TaskId, selectedResourceIds: readonly ResourceId[]) | { assignments: readonly AssignmentEntity[]; changed: boolean; error: string | null } | Yes | — | |
createNextDependencies(taskId: TaskId, dependencyDrafts: readonly GanttTaskEditorDialogDependencyDraft[]) | { dependencies: readonly DependencyEntity[]; changed: boolean; error: string | null } | Yes | — | |
applyContextMenu() | void | Yes | — | |
syncContextMenuPlugin() | Promise<void> | Yes | — | |
submit(values: TaskEditorFormValues, selectedResourceIds: readonly ResourceId[], dependencyDrafts: readonly GanttTaskEditorDialogDependencyDraft[], customValues: Readonly<Record<string, unknown>> = {}) | Promise<void> | Yes | — | |
renderDialog() | void | Yes | — |
Related types: TaskId
GanttTaskEditorDialogResourcesOptions
Section titled “GanttTaskEditorDialogResourcesOptions”interface
export interface GanttTaskEditorDialogResourcesOptions { readonly editable?: boolean; readonly defaultAllocationUnits?: number; readonly defaultResponsibility?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
editable | boolean | undefined | No | — | |
defaultAllocationUnits | number | undefined | No | — | |
defaultResponsibility | string | undefined | No | — |
GanttTaskEditorDialogSearchText
Section titled “GanttTaskEditorDialogSearchText”interface
export interface GanttTaskEditorDialogSearchText { readonly placeholder: string; readonly ariaLabel: string; readonly empty: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
placeholder | string | Yes | — | |
ariaLabel | string | Yes | — | |
empty | string | Yes | — |
GanttTaskEditorDialogState
Section titled “GanttTaskEditorDialogState”interface
export interface GanttTaskEditorDialogState { readonly taskId: TaskId | null; readonly task: TaskEntity | null; readonly values: TaskEditorFormValues; readonly status: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskId | string | null | Yes | — | |
task | TaskEntity | null | Yes | — | |
values | Partial<Record<TaskEditorFieldId, unknown>> | Yes | — | |
status | string | Yes | — |
Related types: TaskEntity, TaskId
GanttTaskEditorDialogStatusText
Section titled “GanttTaskEditorDialogStatusText”interface
export interface GanttTaskEditorDialogStatusText { readonly ready: string; readonly closed: string; readonly changesSaved: string; readonly noChangesToSave: string; readonly readOnlyProject: string; readonly fixValidationErrors: string; readonly saveFailed: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
ready | string | Yes | — | |
closed | string | Yes | — | |
changesSaved | string | Yes | — | |
noChangesToSave | string | Yes | — | |
readOnlyProject | string | Yes | — | |
fixValidationErrors | string | Yes | — | |
saveFailed | string | Yes | — |
GanttTaskEditorDialogSubmitContext
Section titled “GanttTaskEditorDialogSubmitContext”interface
export interface GanttTaskEditorDialogSubmitContext { readonly grid: HTMLRevoGridElement; readonly task: TaskEntity; readonly values: TaskEditorFormValues; readonly result: TaskEditorSubmitSuccess; readonly assignmentResourceIds: readonly ResourceId[]; readonly assignments: readonly AssignmentEntity[]; readonly assignmentsChanged: boolean; readonly dependencyDrafts: readonly GanttTaskEditorDialogDependencyDraft[]; readonly dependencies: readonly DependencyEntity[]; readonly dependenciesChanged: boolean; readonly customValues: Readonly<Record<string, unknown>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
task | TaskEntity | Yes | — | |
values | Partial<Record<TaskEditorFieldId, unknown>> | Yes | — | |
result | TaskEditorSubmitSuccess | Yes | — | |
assignmentResourceIds | readonly string[] | Yes | — | |
assignments | readonly AssignmentEntity[] | Yes | — | |
assignmentsChanged | boolean | Yes | — | |
dependencyDrafts | readonly GanttTaskEditorDialogDependencyDraft[] | Yes | — | |
dependencies | readonly DependencyEntity[] | Yes | — | |
dependenciesChanged | boolean | Yes | — | |
customValues | Readonly<Record<string, unknown>> | Yes | — |
Related types: AssignmentEntity, DependencyEntity, GanttTaskEditorDialogDependencyDraft, ResourceId, TaskEntity
GanttTaskEditorDialogValidationText
Section titled “GanttTaskEditorDialogValidationText”interface
export interface GanttTaskEditorDialogValidationText { readonly checkRequiredFields: string; readonly couldNotSave: string; readonly fieldError: (error: TaskEditorSubmitError, fieldLabel: string) => string; readonly resourceNotFound: (resourceId: ResourceId) => string; readonly taskCannotDependOnItself: string; readonly predecessorTaskNotFound: (taskId: TaskId) => string; readonly successorTaskNotFound: (taskId: TaskId) => string; readonly dependencyMustIncludeCurrentTask: string; readonly duplicateDependencyLinks: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
checkRequiredFields | string | Yes | — | |
couldNotSave | string | Yes | — | |
fieldError | (error: TaskEditorSubmitError, fieldLabel: string) => string | Yes | — | |
resourceNotFound | (resourceId: ResourceId) => string | Yes | — | |
taskCannotDependOnItself | string | Yes | — | |
predecessorTaskNotFound | (taskId: TaskId) => string | Yes | — | |
successorTaskNotFound | (taskId: TaskId) => string | Yes | — | |
dependencyMustIncludeCurrentTask | string | Yes | — | |
duplicateDependencyLinks | string | Yes | — |
Related types: ResourceId, TaskId
GanttTaskEditorDomRenderer
Section titled “GanttTaskEditorDomRenderer”interface
export interface GanttTaskEditorDomRenderer { mount(container: HTMLElement, context: GanttTaskEditorRendererContext): void | GanttTaskEditorRendererLifecycle;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
mount(container: HTMLElement, context: GanttTaskEditorRendererContext) | void | GanttTaskEditorRendererLifecycle | Yes | — |
Related types: GanttTaskEditorRendererContext, GanttTaskEditorRendererLifecycle
GanttTaskEditorDraftController
Section titled “GanttTaskEditorDraftController”interface
export interface GanttTaskEditorDraftController { getState(): GanttTaskEditorDraftState; setValues(values: Partial<TaskEditorFormValues>): void; setResourceIds(resourceIds: readonly ResourceId[]): void; setDependencyDrafts(drafts: readonly GanttTaskEditorDialogDependencyDraft[]): void; setCustomValue(key: string, value: unknown): void; setValidationErrors(errors: readonly string[]): void; reset(): void; close(): void; submit(): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
getState() | GanttTaskEditorDraftState | Yes | — | |
setValues(values: Partial<TaskEditorFormValues>) | void | Yes | — | |
setResourceIds(resourceIds: readonly ResourceId[]) | void | Yes | — | |
setDependencyDrafts(drafts: readonly GanttTaskEditorDialogDependencyDraft[]) | void | Yes | — | |
setCustomValue(key: string, value: unknown) | void | Yes | — | |
setValidationErrors(errors: readonly string[]) | void | Yes | — | |
reset() | void | Yes | — | |
close() | void | Yes | — | |
submit() | void | Yes | — |
Related types: GanttTaskEditorDialogDependencyDraft, GanttTaskEditorDraftState, ResourceId
GanttTaskEditorDraftState
Section titled “GanttTaskEditorDraftState”interface
export interface GanttTaskEditorDraftState { readonly values: TaskEditorFormValues; readonly resourceIds: readonly ResourceId[]; readonly dependencyDrafts: readonly GanttTaskEditorDialogDependencyDraft[]; readonly customValues: Readonly<Record<string, unknown>>; readonly validationErrors: readonly string[]; readonly dirty: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
values | Partial<Record<TaskEditorFieldId, unknown>> | Yes | — | |
resourceIds | readonly string[] | Yes | — | |
dependencyDrafts | readonly GanttTaskEditorDialogDependencyDraft[] | Yes | — | |
customValues | Readonly<Record<string, unknown>> | Yes | — | |
validationErrors | readonly string[] | Yes | — | |
dirty | boolean | Yes | — |
Related types: GanttTaskEditorDialogDependencyDraft, ResourceId
GanttTaskEditorRendererContext
Section titled “GanttTaskEditorRendererContext”interface
export interface GanttTaskEditorRendererContext { readonly grid: HTMLRevoGridElement; readonly task: TaskEntity | null; readonly project: ProjectSnapshot | null; readonly open: boolean; readonly status: string; readonly state: GanttTaskEditorDraftState; readonly controller: GanttTaskEditorDraftController;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
task | TaskEntity | null | Yes | — | |
project | ProjectSnapshot | null | Yes | — | |
open | boolean | Yes | — | |
status | string | Yes | — | |
state | GanttTaskEditorDraftState | Yes | — | |
controller | GanttTaskEditorDraftController | Yes | — |
Related types: GanttTaskEditorDraftController, GanttTaskEditorDraftState, ProjectSnapshot, TaskEntity
GanttTaskEditorRendererLifecycle
Section titled “GanttTaskEditorRendererLifecycle”interface
export interface GanttTaskEditorRendererLifecycle { update?(context: GanttTaskEditorRendererContext): void; destroy?(): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
update(context: GanttTaskEditorRendererContext) | void | Yes | — | |
destroy() | void | Yes | — |
Related types: GanttTaskEditorRendererContext
GanttTaskEditorTabOptions
Section titled “GanttTaskEditorTabOptions”interface
export interface GanttTaskEditorTabOptions { readonly title?: string; readonly hidden?: boolean; readonly fields?: readonly TaskEditorFieldId[]; readonly renderer?: GanttTaskEditorDomRenderer;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
title | string | undefined | No | — | |
hidden | boolean | undefined | No | — | |
fields | readonly TaskEditorFieldId[] | undefined | No | — | |
renderer | GanttTaskEditorDomRenderer | undefined | No | — |
Related types: GanttTaskEditorDomRenderer
GanttTaskEditorTabsOptions
Section titled “GanttTaskEditorTabsOptions”interface
export interface GanttTaskEditorTabsOptions { readonly items?: Readonly<Record<string, false | GanttTaskEditorTabOptions>>; readonly order?: readonly string[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
items | Readonly<Record<string, false | GanttTaskEditorTabOptions>> | undefined | No | — | |
order | readonly string[] | undefined | No | — |
Related types: GanttTaskEditorTabOptions
GanttTaskStatusIndicatorRecipeOptions
Section titled “GanttTaskStatusIndicatorRecipeOptions”interface
export interface GanttTaskStatusIndicatorRecipeOptions { readonly rows: readonly Pick<GanttGridRow, 'id'>[]; readonly projectReadOnly?: boolean; readonly lockedTaskIds?: ReadonlySet<TaskId> | readonly TaskId[]; readonly labels?: Parameters<typeof createTaskStatusIndicators>[0]['labels']; readonly classNames?: Parameters<typeof createTaskStatusIndicators>[0]['classNames'];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
rows | readonly Pick<GanttGridRow, "id">[] | Yes | — | |
projectReadOnly | boolean | undefined | No | — | |
lockedTaskIds | readonly string[] | ReadonlySet<string> | undefined | No | — | |
labels | Partial<Record<TaskStatusIndicatorKind, string>> | undefined | No | — | |
classNames | Partial<Record<TaskStatusIndicatorKind, string>> | undefined | No | — |
Related types: GanttGridRow, TaskId
GanttTaskStatusIndicatorRecipeRow
Section titled “GanttTaskStatusIndicatorRecipeRow”interface
export interface GanttTaskStatusIndicatorRecipeRow { readonly taskId: TaskId; readonly status: TaskStatusIndicatorProjection; readonly className: string; readonly title: string; readonly ariaLabel: string | undefined;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
taskId | string | Yes | — | |
status | TaskStatusIndicatorProjection | Yes | — | |
className | string | Yes | — | |
title | string | Yes | — | |
ariaLabel | string | undefined | Yes | — |
Related types: TaskId
GanttTimelineNavigationOptions
Section titled “GanttTimelineNavigationOptions”interface
export interface GanttTimelineNavigationOptions { align?: number;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
align | number | undefined | No | — |
GanttTimelineNavigationRuntime
Section titled “GanttTimelineNavigationRuntime”interface
export interface GanttTimelineNavigationRuntime { scrollToToday?: () => Promise<void> | void; fitToProject?: () => Promise<void> | void; getZoomLevel?: () => { id?: string } | null | undefined; setZoomLevel?: (levelId: string) => boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
scrollToToday | (() => Promise<void> | void) | undefined | No | — | |
fitToProject | (() => Promise<void> | void) | undefined | No | — | |
getZoomLevel | (() => { id?: string; } | null | undefined) | undefined | No | — | |
setZoomLevel | ((levelId: string) => boolean) | undefined | No | — |
GanttTodayNavigationOptions
Section titled “GanttTodayNavigationOptions”interface
export interface GanttTodayNavigationOptions extends GanttTimelineNavigationOptions { date?: ISODateString;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
date | ISODateString | undefined | No | — |
Related types: GanttTimelineNavigationOptions
GanttToolbar
Section titled “GanttToolbar”constant
export const GanttToolbar: ({ grid, columns, visuals: initialVisuals, controls }: GanttToolbarComponentProps) => h.JSX.Element;GanttToolbarColumnOption
Section titled “GanttToolbarColumnOption”interface
A single column entry shown in the Gantt toolbar column-visibility dropdown.
export interface GanttToolbarColumnOption { /** Property name matching a task-table column (e.g. `'wbs'`, `'status'`). */ prop: string; /** Human-readable label shown in the dropdown. */ label: string; /** * Whether the column is visible by default. * Columns with `visible: false` will be added to `grid.hideColumns` on mount. * @default true */ visible?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
prop | string | Yes | — | Property name matching a task-table column (e.g. 'wbs', 'status'). |
label | string | Yes | — | Human-readable label shown in the dropdown. |
visible | boolean | undefined | No | true | Whether the column is visible by default. Columns with visible: false will be added to grid.hideColumns on mount. |
GanttToolbarControls
Section titled “GanttToolbarControls”interface
Visibility switches for each toolbar control or control group.
export interface GanttToolbarControls { search?: boolean; history?: boolean; undo?: boolean; redo?: boolean; tree?: boolean; expandAll?: boolean; collapseAll?: boolean; zoom?: boolean; zoomIn?: boolean; zoomOut?: boolean; tasks?: boolean; addTask?: boolean; indent?: boolean; outdent?: boolean; export?: boolean; exportExcel?: boolean; columns?: boolean; dependencies?: boolean; baseline?: boolean; criticalPath?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
search | boolean | undefined | No | — | |
history | boolean | undefined | No | — | |
undo | boolean | undefined | No | — | |
redo | boolean | undefined | No | — | |
tree | boolean | undefined | No | — | |
expandAll | boolean | undefined | No | — | |
collapseAll | boolean | undefined | No | — | |
zoom | boolean | undefined | No | — | |
zoomIn | boolean | undefined | No | — | |
zoomOut | boolean | undefined | No | — | |
tasks | boolean | undefined | No | — | |
addTask | boolean | undefined | No | — | |
indent | boolean | undefined | No | — | |
outdent | boolean | undefined | No | — | |
export | boolean | undefined | No | — | |
exportExcel | boolean | undefined | No | — | |
columns | boolean | undefined | No | — | |
dependencies | boolean | undefined | No | — | |
baseline | boolean | undefined | No | — | |
criticalPath | boolean | undefined | No | — |
ganttToolbarDependencies
Section titled “ganttToolbarDependencies”constant
export const ganttToolbarDependencies: PluginDependency[];GanttToolbarOptions
Section titled “GanttToolbarOptions”interface
Options accepted by {@link defineGanttToolbar}.
export interface GanttToolbarOptions { /** The `revo-grid` element the toolbar should control. */ grid: HTMLRevoGridElement; /** * Column options to show in the visibility dropdown. * If omitted, no column dropdown is rendered. */ columns?: GanttToolbarColumnOption[]; /** * Initial state of the visual/scheduling toggles. * When omitted, values are read from the current `grid.gantt.visuals` config. */ visuals?: GanttToolbarVisuals; /** * Per-control visibility. Omitted options default to visible, except * `baseline`, which is opt-in to keep the default command bar compact. */ controls?: GanttToolbarControls;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | The revo-grid element the toolbar should control. |
columns | GanttToolbarColumnOption[] | undefined | No | — | Column options to show in the visibility dropdown. If omitted, no column dropdown is rendered. |
visuals | GanttToolbarVisuals | undefined | No | — | Initial state of the visual/scheduling toggles. When omitted, values are read from the current grid.gantt.visuals config. |
controls | GanttToolbarControls | undefined | No | — | Per-control visibility. Omitted options default to visible, except baseline, which is opt-in to keep the default command bar compact. |
Related types: GanttToolbarColumnOption, GanttToolbarControls, GanttToolbarVisuals
GanttToolbarQuickWinAction
Section titled “GanttToolbarQuickWinAction”interface
export interface GanttToolbarQuickWinAction<Result = unknown> { readonly id: GanttToolbarQuickWinActionId; readonly label: string; readonly title: string; readonly run: () => Result | Promise<Result>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
id | GanttToolbarQuickWinActionId | Yes | — | |
label | string | Yes | — | |
title | string | Yes | — | |
run | () => Result | Promise<Result> | Yes | — |
Related types: GanttToolbarQuickWinActionId
GanttToolbarQuickWinActionId
Section titled “GanttToolbarQuickWinActionId”type
export type GanttToolbarQuickWinActionId = | 'export-csv' | 'export-excel' | 'capture-baseline' | 'toggle-critical-path' | 'timeline-today' | 'timeline-fit-project';GanttToolbarQuickWinActions
Section titled “GanttToolbarQuickWinActions”interface
export interface GanttToolbarQuickWinActions { readonly exportCsv?: GanttToolbarQuickWinAction<boolean>; readonly exportExcel?: GanttToolbarQuickWinAction<CustomEvent<GanttExcelExportOptions>>; readonly captureBaseline?: GanttToolbarQuickWinAction<BaselineSnapshot | null>; readonly toggleCriticalPath?: GanttToolbarQuickWinAction<boolean | undefined>; readonly scrollToToday?: GanttToolbarQuickWinAction<boolean>; readonly fitToProject?: GanttToolbarQuickWinAction<boolean>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
exportCsv | GanttToolbarQuickWinAction<boolean> | undefined | No | — | |
exportExcel | GanttToolbarQuickWinAction<CustomEvent<ExportExcelEvent>> | undefined | No | — | |
captureBaseline | GanttToolbarQuickWinAction<BaselineSnapshot | null> | undefined | No | — | |
toggleCriticalPath | GanttToolbarQuickWinAction<boolean | undefined> | undefined | No | — | |
scrollToToday | GanttToolbarQuickWinAction<boolean> | undefined | No | — | |
fitToProject | GanttToolbarQuickWinAction<boolean> | undefined | No | — |
Related types: BaselineSnapshot, GanttExcelExportOptions, GanttToolbarQuickWinAction
GanttToolbarQuickWinOptions
Section titled “GanttToolbarQuickWinOptions”interface
export interface GanttToolbarQuickWinOptions { readonly csv?: GanttCsvExportOptions | false; readonly excel?: GanttExcelExportOptions | false; readonly baseline?: CaptureBaselineOptions | false; readonly criticalPath?: false; readonly today?: GanttTodayNavigationOptions | false; readonly fitToProject?: GanttProjectFitOptions | false;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
csv | false | GanttCsvExportOptions | undefined | No | — | |
excel | false | ExportExcelEvent | undefined | No | — | |
baseline | false | CaptureBaselineOptions | undefined | No | — | |
criticalPath | false | undefined | No | — | |
today | false | GanttTodayNavigationOptions | undefined | No | — | |
fitToProject | false | GanttProjectFitOptions | undefined | No | — |
Related types: GanttCsvExportOptions, GanttExcelExportOptions, GanttProjectFitOptions, GanttTodayNavigationOptions
GanttToolbarVisuals
Section titled “GanttToolbarVisuals”interface
Initial visual toggle state passed to the toolbar.
export interface GanttToolbarVisuals { showBaseline?: boolean; showDependencies?: boolean; showCriticalPath?: boolean;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
showBaseline | boolean | undefined | No | — | |
showDependencies | boolean | undefined | No | — | |
showCriticalPath | boolean | undefined | No | — |
GanttValidationContext
Section titled “GanttValidationContext”interface
export interface GanttValidationContext { readonly getTaskById?: (taskId: TaskId) => TaskEntity | null | undefined; readonly roleContext?: GanttRoleEditabilityContext; readonly approvals?: GanttApprovalRegistry;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
getTaskById | ((taskId: TaskId) => TaskEntity | null | undefined) | undefined | No | — | |
roleContext | GanttRoleEditabilityContext | undefined | No | — | |
approvals | GanttApprovalRegistry | undefined | No | — |
Related types: GanttApprovalRegistry, TaskEntity, TaskId
GanttValidationDecision
Section titled “GanttValidationDecision”interface
export interface GanttValidationDecision { readonly ok: boolean; readonly code?: string; readonly message?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
ok | boolean | Yes | — | |
code | string | undefined | No | — | |
message | string | undefined | No | — |
GanttValidationHandlerOptions
Section titled “GanttValidationHandlerOptions”interface
export interface GanttValidationHandlerOptions<TContext> { readonly context: TContext | (() => TContext); readonly validators: readonly GanttBeforeTaskChangeValidator<TContext>[]; readonly onReject?: (rejection: GanttValidationReject) => void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
context | TContext | (() => TContext) | Yes | — | |
validators | readonly GanttBeforeTaskChangeValidator<TContext>[] | Yes | — | |
onReject | ((rejection: GanttValidationReject) => void) | undefined | No | — |
Related types: GanttBeforeTaskChangeValidator, GanttValidationReject
GanttValidationReject
Section titled “GanttValidationReject”interface
export interface GanttValidationReject { readonly detail: GanttBeforeTaskChangeDetail; readonly decision: GanttValidationDecision;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
detail | GanttBeforeTaskChangeDetail | Yes | — | |
decision | GanttValidationDecision | Yes | — |
Related types: GanttBeforeTaskChangeDetail, GanttValidationDecision
getCsvExportPlugin
Section titled “getCsvExportPlugin”function
export function getCsvExportPlugin(grid: HTMLRevoGridElement): Promise<RevoGridCsvExportPlugin | undefined>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — |
Related types: RevoGridCsvExportPlugin
getDefaultDependencyDropdownType
Section titled “getDefaultDependencyDropdownType”function
export function getDefaultDependencyDropdownType(allowedTypes: readonly DependencyType[] = DEFAULT_GANTT_DEPENDENCY_TYPES): DependencyType | null;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
allowedTypes | readonly DependencyType[] | No | DEFAULT_GANTT_DEPENDENCY_TYPES |
Related types: DependencyType
getGanttBaselineCaptureRuntime
Section titled “getGanttBaselineCaptureRuntime”function
export function getGanttBaselineCaptureRuntime(grid: HTMLRevoGridElement): Promise<GanttBaselineCaptureRuntime | undefined>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — |
Related types: GanttBaselineCaptureRuntime
getGanttDependencyDropdownCellBadges
Section titled “getGanttDependencyDropdownCellBadges”function
export function getGanttDependencyDropdownCellBadges(value: unknown, config: GanttDependencyDropdownConfig): string[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | unknown | Yes | — | |
config | GanttDependencyDropdownConfig | Yes | — |
Related types: GanttDependencyDropdownConfig
getGanttDependencyDropdownSearchText
Section titled “getGanttDependencyDropdownSearchText”function
export function getGanttDependencyDropdownSearchText(option: GanttDependencyDropdownTaskOption): string;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
option | GanttDependencyDropdownTaskOption | Yes | — |
Related types: GanttDependencyDropdownTaskOption
getGanttDependencyDropdownTasks
Section titled “getGanttDependencyDropdownTasks”function
export function getGanttDependencyDropdownTasks(config: GanttDependencyDropdownConfig): readonly GanttDependencyDropdownTaskOption[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
config | GanttDependencyDropdownConfig | Yes | — |
Related types: GanttDependencyDropdownConfig, GanttDependencyDropdownTaskOption
getGanttDependencyDropdownValue
Section titled “getGanttDependencyDropdownValue”function
export function getGanttDependencyDropdownValue(value: unknown, config: GanttDependencyDropdownConfig): GanttDependencyDropdownValue[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | unknown | Yes | — | |
config | GanttDependencyDropdownConfig | Yes | — |
Related types: GanttDependencyDropdownConfig, GanttDependencyDropdownValue
getGanttTimelineNavigationRuntime
Section titled “getGanttTimelineNavigationRuntime”function
export function getGanttTimelineNavigationRuntime(grid: HTMLRevoGridElement): Promise<GanttTimelineNavigationRuntime | undefined>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — |
Related types: GanttTimelineNavigationRuntime
getPersistenceRecipeMetadata
Section titled “getPersistenceRecipeMetadata”function
export function getPersistenceRecipeMetadata(id: GanttPersistenceRecipeId): GanttPersistenceRecipeMetadata;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
id | GanttPersistenceRecipeId | Yes | — |
Related types: GanttPersistenceRecipeId, GanttPersistenceRecipeMetadata
isGanttAddTaskRow
Section titled “isGanttAddTaskRow”function
export function isGanttAddTaskRow(row: unknown): boolean;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
row | unknown | Yes | — |
isGanttDependencyType
Section titled “isGanttDependencyType”function
export function isGanttDependencyType(value: unknown): value is DependencyType;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | unknown | Yes | — |
Related types: DependencyType
listGanttToolbarQuickWinActions
Section titled “listGanttToolbarQuickWinActions”function
export function listGanttToolbarQuickWinActions(actions: GanttToolbarQuickWinActions): readonly GanttToolbarQuickWinAction[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
actions | GanttToolbarQuickWinActions | Yes | — |
Related types: GanttToolbarQuickWinAction, GanttToolbarQuickWinActions
LockedPhaseValidatorOptions
Section titled “LockedPhaseValidatorOptions”interface
export interface LockedPhaseValidatorOptions<TContext> { readonly lockedPhaseIds: readonly string[]; readonly getPhaseId: (detail: GanttBeforeTaskChangeDetail, context: TContext) => string | null | undefined; readonly actions?: readonly GanttBeforeTaskChangeAction[]; readonly message?: (phaseId: string) => string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
lockedPhaseIds | readonly string[] | Yes | — | |
getPhaseId | (detail: GanttBeforeTaskChangeDetail, context: TContext) => string | null | undefined | Yes | — | |
actions | readonly GanttBeforeTaskChangeAction[] | undefined | No | — | |
message | ((phaseId: string) => string) | undefined | No | — |
Related types: GanttBeforeTaskChangeAction, GanttBeforeTaskChangeDetail
normalizeGanttDependencyDropdownAllowedTypes
Section titled “normalizeGanttDependencyDropdownAllowedTypes”function
export function normalizeGanttDependencyDropdownAllowedTypes(allowedTypes: readonly DependencyType[] | undefined): readonly DependencyType[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
allowedTypes | readonly DependencyType[] | undefined | Yes | — |
Related types: DependencyType
normalizeGanttDependencyDropdownValues
Section titled “normalizeGanttDependencyDropdownValues”function
export function normalizeGanttDependencyDropdownValues(value: readonly GanttDependencyDropdownValue[], options: readonly GanttDependencyDropdownTaskOption[]): GanttDependencyDropdownValue[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
value | readonly GanttDependencyDropdownValue[] | Yes | — | |
options | readonly GanttDependencyDropdownTaskOption[] | Yes | — |
Related types: GanttDependencyDropdownTaskOption, GanttDependencyDropdownValue
parseDependencyDropdownDisplayValue
Section titled “parseDependencyDropdownDisplayValue”function
export function parseDependencyDropdownDisplayValue(displayValue: unknown, options: readonly GanttDependencyDropdownTaskOption[]): GanttDependencyDropdownValue[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
displayValue | unknown | Yes | — | |
options | readonly GanttDependencyDropdownTaskOption[] | Yes | — |
Related types: GanttDependencyDropdownTaskOption, GanttDependencyDropdownValue
PostgresStatement
Section titled “PostgresStatement”interface
export interface PostgresStatement { readonly text: string; readonly values: readonly unknown[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
text | string | Yes | — | |
values | readonly unknown[] | Yes | — |
printGanttContainer
Section titled “printGanttContainer”function
export function printGanttContainer(target: Element | null | undefined, options: GanttPrintOptions = {}): GanttPrintResult;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
target | Element | null | undefined | Yes | — | |
options | GanttPrintOptions | No | {} |
Related types: GanttPrintOptions, GanttPrintResult
PROJECT_SNAPSHOT_TABLE
Section titled “PROJECT_SNAPSHOT_TABLE”constant
export const PROJECT_SNAPSHOT_TABLE: "gantt_project_snapshots";ProjectSnapshotGraphqlAdapter
Section titled “ProjectSnapshotGraphqlAdapter”class
Framework-neutral example for persisting project snapshots through GraphQL.
export class ProjectSnapshotGraphqlAdapter { constructor(private readonly options: ProjectSnapshotGraphqlAdapterOptions); load(request: ProjectSnapshotGraphqlRequestOptions = {}): Promise<ProjectSnapshot>; save(project: ProjectSnapshot, request: ProjectSnapshotGraphqlRequestOptions = {}): Promise<void>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
fetchImpl | typeof fetch | Yes | — | |
load(request: ProjectSnapshotGraphqlRequestOptions = {}) | Promise<ProjectSnapshot> | Yes | — | |
save(project: ProjectSnapshot, request: ProjectSnapshotGraphqlRequestOptions = {}) | Promise<void> | Yes | — | |
execute(request: { readonly query: string; readonly variables?: Readonly<Record<string, unknown>>; readonly signal?: AbortSignal; }) | Promise<GraphqlResponsePayload> | Yes | — | |
request(run: () => Promise<Response>) | Promise<Response> | Yes | — | |
readPayload(response: Response) | Promise<GraphqlResponsePayload> | Yes | — |
Related types: ProjectSnapshot, ProjectSnapshotGraphqlAdapterOptions, ProjectSnapshotGraphqlRequestOptions
ProjectSnapshotGraphqlAdapterOptions
Section titled “ProjectSnapshotGraphqlAdapterOptions”interface
export interface ProjectSnapshotGraphqlAdapterOptions { /** GraphQL HTTP endpoint. */ readonly url: string; /** Optional headers for authentication, tenancy, or content negotiation. */ readonly headers?: Readonly<Record<string, string>>; /** Custom fetch implementation for tests, SSR, or framework adapters. */ readonly fetchImpl?: typeof fetch; /** JSON indentation used for readable save payloads. */ readonly space?: number | string; /** Query used by load(). Must return a serialized project snapshot string. */ readonly loadQuery?: string; /** Mutation used by save(). Receives the serialized snapshot in `$snapshot`. */ readonly saveMutation?: string; /** Response data field read by load(). */ readonly loadField?: string; /** Response data field checked by save(). */ readonly saveField?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | — | GraphQL HTTP endpoint. |
headers | Readonly<Record<string, string>> | undefined | No | — | Optional headers for authentication, tenancy, or content negotiation. |
fetchImpl | typeof fetch | undefined | No | — | Custom fetch implementation for tests, SSR, or framework adapters. |
space | string | number | undefined | No | — | JSON indentation used for readable save payloads. |
loadQuery | string | undefined | No | — | Query used by load(). Must return a serialized project snapshot string. |
saveMutation | string | undefined | No | — | Mutation used by save(). Receives the serialized snapshot in $snapshot. |
loadField | string | undefined | No | — | Response data field read by load(). |
saveField | string | undefined | No | — | Response data field checked by save(). |
ProjectSnapshotGraphqlError
Section titled “ProjectSnapshotGraphqlError”class
export class ProjectSnapshotGraphqlError extends Error { constructor(public readonly code: ProjectSnapshotGraphqlErrorCode, message: string, public readonly details: ProjectSnapshotGraphqlErrorDetails = {});}Related types: ProjectSnapshotGraphqlErrorCode, ProjectSnapshotGraphqlErrorDetails
ProjectSnapshotGraphqlErrorCode
Section titled “ProjectSnapshotGraphqlErrorCode”type
export type ProjectSnapshotGraphqlErrorCode = | 'GRAPHQL_ERROR' | 'HTTP_ERROR' | 'INVALID_RESPONSE' | 'INVALID_SNAPSHOT' | 'NETWORK_ERROR';ProjectSnapshotGraphqlErrorDetails
Section titled “ProjectSnapshotGraphqlErrorDetails”interface
export interface ProjectSnapshotGraphqlErrorDetails { readonly status?: number; readonly payload?: unknown; readonly cause?: unknown;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
status | number | undefined | No | — | |
payload | unknown | No | — | |
cause | unknown | No | — |
ProjectSnapshotGraphqlRequestOptions
Section titled “ProjectSnapshotGraphqlRequestOptions”interface
export interface ProjectSnapshotGraphqlRequestOptions { readonly signal?: AbortSignal; readonly variables?: Readonly<Record<string, unknown>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
signal | AbortSignal | undefined | No | — | |
variables | Readonly<Record<string, unknown>> | undefined | No | — |
ProjectSnapshotJsonRecipe
Section titled “ProjectSnapshotJsonRecipe”interface
export interface ProjectSnapshotJsonRecipe { readonly metadata: GanttPersistenceRecipeMetadata; clone(project: ProjectSnapshot): ProjectSnapshot; export(project: ProjectSnapshot, space?: number | string): string; parse(json: string): ProjectSnapshotParseResult; load(): Promise<ProjectSnapshot>; save(project: ProjectSnapshot, space?: number | string): Promise<string>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPersistenceRecipeMetadata | Yes | — | |
clone(project: ProjectSnapshot) | ProjectSnapshot | Yes | — | |
export(project: ProjectSnapshot, space?: number | string) | string | Yes | — | |
parse(json: string) | ProjectSnapshotParseResult | Yes | — | |
load() | Promise<ProjectSnapshot> | Yes | — | |
save(project: ProjectSnapshot, space?: number | string) | Promise<string> | Yes | — |
Related types: GanttPersistenceRecipeMetadata, ProjectSnapshot, ProjectSnapshotParseResult
ProjectSnapshotJsonRecipeOptions
Section titled “ProjectSnapshotJsonRecipeOptions”interface
export interface ProjectSnapshotJsonRecipeOptions { readonly readText?: () => string | Promise<string>; readonly writeText?: (fileName: string, contents: string) => void | Promise<void>; readonly fileName?: (project: ProjectSnapshot) => string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
readText | (() => string | Promise<string>) | undefined | No | — | |
writeText | ((fileName: string, contents: string) => void | Promise<void>) | undefined | No | — | |
fileName | ((project: ProjectSnapshot) => string) | undefined | No | — |
Related types: ProjectSnapshot
ProjectSnapshotPersistenceRecipe
Section titled “ProjectSnapshotPersistenceRecipe”interface
export interface ProjectSnapshotPersistenceRecipe { readonly metadata: GanttPersistenceRecipeMetadata; load(request?: ProjectSnapshotRestRequestOptions | ProjectSnapshotGraphqlRequestOptions): Promise<ProjectSnapshot>; save(request?: ProjectSnapshotRestRequestOptions | ProjectSnapshotGraphqlRequestOptions): Promise<void>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPersistenceRecipeMetadata | Yes | — | |
load(request?: ProjectSnapshotRestRequestOptions | ProjectSnapshotGraphqlRequestOptions) | Promise<ProjectSnapshot> | Yes | — | |
save(request?: ProjectSnapshotRestRequestOptions | ProjectSnapshotGraphqlRequestOptions) | Promise<void> | Yes | — |
Related types: GanttPersistenceRecipeMetadata, ProjectSnapshot, ProjectSnapshotGraphqlRequestOptions, ProjectSnapshotRestRequestOptions
ProjectSnapshotPostgresError
Section titled “ProjectSnapshotPostgresError”class
export class ProjectSnapshotPostgresError extends Error { constructor(public readonly code: ProjectSnapshotPostgresErrorCode, message: string, public readonly details: ProjectSnapshotPostgresErrorDetails = {});}Related types: ProjectSnapshotPostgresErrorCode, ProjectSnapshotPostgresErrorDetails
ProjectSnapshotPostgresErrorCode
Section titled “ProjectSnapshotPostgresErrorCode”type
export type ProjectSnapshotPostgresErrorCode = | 'INVALID_IDENTIFIER' | 'INVALID_SNAPSHOT' | 'QUERY_ERROR';ProjectSnapshotPostgresErrorDetails
Section titled “ProjectSnapshotPostgresErrorDetails”interface
export interface ProjectSnapshotPostgresErrorDetails { readonly cause?: unknown; readonly payload?: unknown;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
cause | unknown | No | — | |
payload | unknown | No | — |
ProjectSnapshotPostgresOptions
Section titled “ProjectSnapshotPostgresOptions”interface
export interface ProjectSnapshotPostgresOptions { readonly tableName?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
tableName | string | undefined | No | — |
ProjectSnapshotPostgresRecipe
Section titled “ProjectSnapshotPostgresRecipe”interface
export interface ProjectSnapshotPostgresRecipe { readonly metadata: GanttPersistenceRecipeMetadata; createTable(): Promise<void>; load(projectId: string): Promise<ProjectSnapshot | null>; save(): Promise<ProjectSnapshot>; buildReportingStatement(projectId: string): PostgresStatement;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPersistenceRecipeMetadata | Yes | — | |
createTable() | Promise<void> | Yes | — | |
load(projectId: string) | Promise<ProjectSnapshot | null> | Yes | — | |
save() | Promise<ProjectSnapshot> | Yes | — | |
buildReportingStatement(projectId: string) | PostgresStatement | Yes | — |
Related types: GanttPersistenceRecipeMetadata, PostgresStatement, ProjectSnapshot
ProjectSnapshotPostgresRow
Section titled “ProjectSnapshotPostgresRow”interface
export interface ProjectSnapshotPostgresRow { readonly project_id: string; readonly version: string; readonly snapshot: unknown; readonly updated_at: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
project_id | string | Yes | — | |
version | string | Yes | — | |
snapshot | unknown | Yes | — | |
updated_at | string | Yes | — |
ProjectSnapshotRestAdapter
Section titled “ProjectSnapshotRestAdapter”class
Framework-neutral example for persisting project snapshots through REST.
export class ProjectSnapshotRestAdapter { constructor(private readonly options: ProjectSnapshotRestAdapterOptions); load(request: ProjectSnapshotRestRequestOptions = {}): Promise<ProjectSnapshot>; save(project: ProjectSnapshot, request: ProjectSnapshotRestRequestOptions = {}): Promise<void>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
fetchImpl | typeof fetch | Yes | — | |
load(request: ProjectSnapshotRestRequestOptions = {}) | Promise<ProjectSnapshot> | Yes | — | |
save(project: ProjectSnapshot, request: ProjectSnapshotRestRequestOptions = {}) | Promise<void> | Yes | — | |
request(run: () => Promise<Response>) | Promise<Response> | Yes | — | |
assertOk(response: Response) | Promise<void> | Yes | — |
Related types: ProjectSnapshot, ProjectSnapshotRestAdapterOptions, ProjectSnapshotRestRequestOptions
ProjectSnapshotRestAdapterOptions
Section titled “ProjectSnapshotRestAdapterOptions”interface
export interface ProjectSnapshotRestAdapterOptions { /** Endpoint that returns and accepts a serialized project snapshot. */ readonly url: string; /** Optional headers for authentication, tenancy, or content negotiation. */ readonly headers?: Readonly<Record<string, string>>; /** Custom fetch implementation for tests, SSR, or framework adapters. */ readonly fetchImpl?: typeof fetch; /** JSON indentation used for readable save payloads. */ readonly space?: number | string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | — | Endpoint that returns and accepts a serialized project snapshot. |
headers | Readonly<Record<string, string>> | undefined | No | — | Optional headers for authentication, tenancy, or content negotiation. |
fetchImpl | typeof fetch | undefined | No | — | Custom fetch implementation for tests, SSR, or framework adapters. |
space | string | number | undefined | No | — | JSON indentation used for readable save payloads. |
ProjectSnapshotRestError
Section titled “ProjectSnapshotRestError”class
export class ProjectSnapshotRestError extends Error { constructor(public readonly code: ProjectSnapshotRestErrorCode, message: string, public readonly details: ProjectSnapshotRestErrorDetails = {});}Related types: ProjectSnapshotRestErrorCode, ProjectSnapshotRestErrorDetails
ProjectSnapshotRestErrorCode
Section titled “ProjectSnapshotRestErrorCode”type
export type ProjectSnapshotRestErrorCode = | 'HTTP_ERROR' | 'INVALID_SNAPSHOT' | 'NETWORK_ERROR';ProjectSnapshotRestErrorDetails
Section titled “ProjectSnapshotRestErrorDetails”interface
export interface ProjectSnapshotRestErrorDetails { readonly status?: number; readonly payload?: unknown; readonly cause?: unknown;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
status | number | undefined | No | — | |
payload | unknown | No | — | |
cause | unknown | No | — |
ProjectSnapshotRestRequestOptions
Section titled “ProjectSnapshotRestRequestOptions”interface
export interface ProjectSnapshotRestRequestOptions { readonly signal?: AbortSignal;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
signal | AbortSignal | undefined | No | — |
ProjectSnapshotSqlExecutor
Section titled “ProjectSnapshotSqlExecutor”interface
export interface ProjectSnapshotSqlExecutor { query<T>(statement: PostgresStatement): Promise<{ readonly rows: readonly T[] }>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
query(statement: PostgresStatement) | Promise<{ readonly rows: readonly T[] }> | Yes | — |
Related types: PostgresStatement
ProjectSnapshotState
Section titled “ProjectSnapshotState”interface
export interface ProjectSnapshotState { getProject(): ProjectSnapshot; setProject(project: ProjectSnapshot): void;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
getProject() | ProjectSnapshot | Yes | — | |
setProject(project: ProjectSnapshot) | void | Yes | — |
Related types: ProjectSnapshot
ProjectSnapshotStorageRecipe
Section titled “ProjectSnapshotStorageRecipe”interface
export interface ProjectSnapshotStorageRecipe { readonly metadata: GanttPersistenceRecipeMetadata; load(projectId: string): Promise<ProjectSnapshot | null>; save(): Promise<ProjectSnapshot>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
metadata | GanttPersistenceRecipeMetadata | Yes | — | |
load(projectId: string) | Promise<ProjectSnapshot | null> | Yes | — | |
save() | Promise<ProjectSnapshot> | Yes | — |
Related types: GanttPersistenceRecipeMetadata, ProjectSnapshot
ProjectSnapshotSupabaseAdapter
Section titled “ProjectSnapshotSupabaseAdapter”class
Framework-neutral Supabase-style example for storing ProjectSnapshot JSON. The client shape is intentionally local and minimal, so no Supabase package is required by the Gantt package or by consumers using another data client.
export class ProjectSnapshotSupabaseAdapter { constructor(private readonly client: SupabaseLikeClient<ProjectSnapshotPostgresRow>, private readonly options: ProjectSnapshotPostgresOptions = {}); load(projectId: string): Promise<ProjectSnapshot | null>; save(project: ProjectSnapshot): Promise<ProjectSnapshot>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
load(projectId: string) | Promise<ProjectSnapshot | null> | Yes | — | |
save(project: ProjectSnapshot) | Promise<ProjectSnapshot> | Yes | — |
Related types: ProjectSnapshot, ProjectSnapshotPostgresOptions, ProjectSnapshotPostgresRow, SupabaseLikeClient
resolveHiddenColumnsFromToolbarSelection
Section titled “resolveHiddenColumnsFromToolbarSelection”function
export function resolveHiddenColumnsFromToolbarSelection(selectedValues: string | string[], allProps: string[], previousHiddenColumns: string[]): string[];| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
selectedValues | string | string[] | Yes | — | |
allProps | string[] | Yes | — | |
previousHiddenColumns | string[] | Yes | — |
ResourceOverallocationSummaryRecipe
Section titled “ResourceOverallocationSummaryRecipe”interface
export interface ResourceOverallocationSummaryRecipe { readonly summary: ResourceOverallocationSummary; readonly hasOverallocations: boolean; readonly badgeLabel: string; readonly worstResourceId: string | null;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
summary | ResourceOverallocationSummary | Yes | — | |
hasOverallocations | boolean | Yes | — | |
badgeLabel | string | Yes | — | |
worstResourceId | string | null | Yes | — |
RevoGridCsvExportPlugin
Section titled “RevoGridCsvExportPlugin”interface
export interface RevoGridCsvExportPlugin { exportFile(options?: GanttCsvExportOptions): Promise<void>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
exportFile(options?: GanttCsvExportOptions) | Promise<void> | Yes | — |
Related types: GanttCsvExportOptions
RoleGuardValidatorOptions
Section titled “RoleGuardValidatorOptions”interface
export interface RoleGuardValidatorOptions<TContext extends GanttValidationContext> { readonly policy: GanttRoleEditabilityPolicy; readonly getRoleContext?: ( detail: GanttBeforeTaskChangeDetail, context: TContext, ) => GanttRoleEditabilityContext; readonly message?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
policy | GanttRoleEditabilityPolicy | Yes | — | |
getRoleContext | ((detail: GanttBeforeTaskChangeDetail, context: TContext) => GanttRoleEditabilityContext) | undefined | No | — | |
message | string | undefined | No | — |
Related types: GanttBeforeTaskChangeDetail, GanttValidationContext
scrollGanttToToday
Section titled “scrollGanttToToday”function
export function scrollGanttToToday(grid: HTMLRevoGridElement, options: GanttTodayNavigationOptions = {}): Promise<boolean>;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — | |
options | GanttTodayNavigationOptions | No | {} |
Related types: GanttTodayNavigationOptions
SupabaseLikeClient
Section titled “SupabaseLikeClient”interface
export interface SupabaseLikeClient<T> { from(table: string): SupabaseLikeTable<T>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
from(table: string) | SupabaseLikeTable<T> | Yes | — |
Related types: SupabaseLikeTable
SupabaseLikeError
Section titled “SupabaseLikeError”interface
export interface SupabaseLikeError { readonly message: string; readonly code?: string; readonly details?: string; readonly hint?: string;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
message | string | Yes | — | |
code | string | undefined | No | — | |
details | string | undefined | No | — | |
hint | string | undefined | No | — |
SupabaseLikeFilterBuilder
Section titled “SupabaseLikeFilterBuilder”interface
export interface SupabaseLikeFilterBuilder<T> { eq(column: string, value: unknown): SupabaseLikeMaybeSingleQuery<T>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
eq(column: string, value: unknown) | SupabaseLikeMaybeSingleQuery<T> | Yes | — |
Related types: SupabaseLikeMaybeSingleQuery
SupabaseLikeMaybeSingleQuery
Section titled “SupabaseLikeMaybeSingleQuery”interface
export interface SupabaseLikeMaybeSingleQuery<T> { maybeSingle(): Promise<SupabaseLikeResult<T | null>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
maybeSingle() | Promise<SupabaseLikeResult<T | null>> | Yes | — |
Related types: SupabaseLikeResult
SupabaseLikeResult
Section titled “SupabaseLikeResult”interface
export interface SupabaseLikeResult<T> { readonly data: T; readonly error: SupabaseLikeError | null;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
data | T | Yes | — | |
error | SupabaseLikeError | null | Yes | — |
Related types: SupabaseLikeError
SupabaseLikeSingleQuery
Section titled “SupabaseLikeSingleQuery”interface
export interface SupabaseLikeSingleQuery<T> { single(): Promise<SupabaseLikeResult<T>>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
single() | Promise<SupabaseLikeResult<T>> | Yes | — |
Related types: SupabaseLikeResult
SupabaseLikeTable
Section titled “SupabaseLikeTable”interface
export interface SupabaseLikeTable<T> { select(columns?: string): SupabaseLikeFilterBuilder<T>; upsert(row: T, options?: { readonly onConflict?: string }): SupabaseLikeUpsertBuilder<T>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
select(columns?: string) | SupabaseLikeFilterBuilder<T> | Yes | — | |
upsert(row: T, options?: { readonly onConflict?: string }) | SupabaseLikeUpsertBuilder<T> | Yes | — |
Related types: SupabaseLikeFilterBuilder, SupabaseLikeUpsertBuilder
SupabaseLikeUpsertBuilder
Section titled “SupabaseLikeUpsertBuilder”interface
export interface SupabaseLikeUpsertBuilder<T> { select(columns?: string): SupabaseLikeSingleQuery<T>;}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
select(columns?: string) | SupabaseLikeSingleQuery<T> | Yes | — |
Related types: SupabaseLikeSingleQuery
TaskDetailPopoverRecipe
Section titled “TaskDetailPopoverRecipe”interface
export interface TaskDetailPopoverRecipe { readonly model: TaskDetailPopoverModel; readonly sectionTitles: readonly string[]; readonly warningMessages: readonly string[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
model | TaskDetailPopoverModel | Yes | — | |
sectionTitles | readonly string[] | Yes | — | |
warningMessages | readonly string[] | Yes | — |
TaskDetailPopoverRecipeOptions
Section titled “TaskDetailPopoverRecipeOptions”interface
export interface TaskDetailPopoverRecipeOptions { readonly row: GanttGridRow; readonly task?: TaskEntity; readonly resources?: readonly ResourceEntity[]; readonly assignments?: readonly AssignmentEntity[];}| Member | Type / return | Required | Default | Description |
|---|---|---|---|---|
row | GanttGridRow | Yes | — | |
task | TaskEntity | undefined | No | — | |
resources | readonly ResourceEntity[] | undefined | No | — | |
assignments | readonly AssignmentEntity[] | undefined | No | — |
Related types: AssignmentEntity, GanttGridRow, ResourceEntity, TaskEntity
toggleGanttCriticalPath
Section titled “toggleGanttCriticalPath”function
Toggle critical-path highlighting on the grid’s Gantt visual config.
Returns the next visibility state, or undefined when the grid has no
Gantt config to update.
export function toggleGanttCriticalPath(grid: HTMLRevoGridElement): boolean | undefined;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
grid | HTMLRevoGridElement | Yes | — |
toProjectSnapshotRow
Section titled “toProjectSnapshotRow”function
export function toProjectSnapshotRow(project: ProjectSnapshot): ProjectSnapshotPostgresRow;| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
project | ProjectSnapshot | Yes | — |
Related types: ProjectSnapshot, ProjectSnapshotPostgresRow