Why Angular Teams Choose ApexGantt
The ngx-apexgantt package exposes the chart as a real Angular component, <ngx-apexgantt>, with typed Inputs, EventEmitter Outputs, @ViewChild access, and first-class support for both standalone and module-based applications, not a thin shell around an imperative library that leaves you fighting ngOnDestroy, change detection, and zone leaks. It shares its core engine with ApexGantt's React, Vue, and JavaScript wrappers, so the task data model stays consistent if your stack grows beyond Angular. Learn about the full ApexGantt component →
Drag-and-Drop Scheduling with Typed Outputs
Drag tasks to reschedule, resize bars, and draw dependency arrows on the timeline. Each interaction fires an EventEmitter Output (taskDragged, taskResized, taskUpdateSuccess) you bind with (event)= syntax to persist edits or trigger workflows. Watch the scripted plan move, then grab a bar yourself.
Critical Path That Recomputes on Every Edit
ApexGantt highlights the longest chain of dependent tasks that drives your finish date. Update the [tasks] binding or call update() through @ViewChild and the critical path recomputes automatically. Watch it re-route between the two branches below.
Baselines for Planned vs. Actual
Attach a planned (baseline) range to each task in the same tasks array and ApexGantt draws a thin reference bar beneath the live one, so schedule variance is visible at a glance. No separate data structure required. The demo drifts the actuals past plan to show a slipping project.
Multiple View Modes via a Single Input
Bind the [viewMode] Input to switch between day, week, month, quarter, and year scales; change detection picks it up with no data re-query. This one auto-zooms; interact to take the controls.
Task Dependencies
Finish-to-start, start-to-start, and finish-to-finish links with lag, set on the [tasks] you bind.
Milestones
Zero-duration diamond markers for gates, releases, and key dates.
Annotations
Pin sprint boundaries, deadlines, or notes to specific dates through the options Input.
Configurable Columns
Define the task-table columns with columnConfig and the ColumnKey enum.
Rich HTML Tooltips
Templatable tooltips showing dates, duration, progress, and dependencies.
Custom Colors & Dark Theme
Bind the [theme] Input; deeper styling via the options object (GanttOptions).
SVG Export
Export timelines to high-quality SVG with every task and dependency preserved.
TypeScript Types
Definitions ship for NgxApexGanttComponent, GanttOptions, TaskInput, ColumnKey, and the event detail types.
Performance with Large Angular Gantt Timelines
ApexGantt renders large project timelines quickly. On an Apple M4 Pro (apexgantt 3.11.1, headless Chromium):
Angular Gantt Chart FAQ
How do I install ApexGantt for Angular?
Run npm install ngx-apexgantt apexgantt. Both packages are required: ngx-apexgantt is the Angular wrapper, and apexgantt is the core engine it depends on. Import NgxApexGanttComponent (standalone) or NgxApexGanttModule (module-based) from ngx-apexgantt.
Does ApexGantt work with Angular standalone components?
Yes. Add NgxApexGanttComponent to your standalone component's imports array and use ngx-apexgantt in the template. The package supports both standalone and module-based applications as first-class patterns.
How do I set the commercial license in an Angular app?
Call setApexGanttLicense("key") before bootstrapApplication in main.ts. The community edition runs without a license key.
How do I access chart methods programmatically?
Get a reference to the component with @ViewChild("ganttChart") ganttChart!: NgxApexGanttComponent, then call ganttChart.zoomIn(), ganttChart.zoomOut(), ganttChart.update(options), ganttChart.updateTask(taskId, data), or ganttChart.destroy().
Does ApexGantt support TypeScript in Angular?
Yes. Type definitions ship with the package, covering the component, GanttOptions, TaskInput, ViewMode, ColumnKey, and event detail types (TaskUpdateSuccessEventDetail, TaskDraggedEventDetail, and more). No separate @types/ install is required.
Does ApexGantt support critical path and baselines?
Yes. Critical path highlighting and baseline (planned-vs-actual) tracking are built in, configurable through the same GanttOptions you use for everything else. Worked demos live at /apexgantt/demos/critical-path/ and /apexgantt/demos/baseline/.
Ready to build your Angular project timeline?
The fastest path is the demos: running examples you can read and copy from.
See ApexGantt Demos
