MCPInstall

syncfusion-angular-gantt-chart

Implement and configure the Syncfusion Angular Gantt Chart component (ejs-gantt, GanttModule). Use this when building Angular applications with Gantt chart functionality, task scheduling, dependencies, or resource management. Covers component setup, task dependencies, taskbar editing, critical path analysis, resource allocation, timeline configuration, filtering, sorting, export, undo/redo, state persistence, and localization.

Installs
311
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-gantt-chart
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-angular-gantt-chart automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Syncfusion Angular Gantt Chart

A comprehensive skill for implementing and configuring the Syncfusion Angular Gantt Chart component (ejs-gantt). This covers everything from initial setup through advanced features like critical path, virtual scrolling, resource views, undo/redo, state persistence, localization, export, task calendars, serial numbers, advanced scheduling units, dependency restrictions, hierarchy checkbox selection, and taskbar drawing.

When to Use This Skill

Use this skill when you need to:

  • Install and set up the Angular Gantt Chart component
  • Bind local or remote data to the Gantt chart
  • Configure task scheduling modes (Auto/Manual/Custom)
  • Define task dependencies and predecessor relationships
  • Add, edit, or delete tasks (cell, dialog, taskbar editing)
  • Assign and manage resources
  • Configure project and task calendars for working time, holidays, and exceptions
  • Configure timelines, zooming, and tier formats
  • Customize taskbars, labels, and data markers
  • Filter, sort, search, or select rows/cells
  • Enable toolbar, context menu, or undo/redo
  • Export to Excel or PDF
  • Implement virtual scrolling or state persistence
  • Apply localization, RTL layout, or timezone configuration
  • Work with holidays, event markers, critical path, or baseline

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation via ng add @syncfusion/ej2-angular-gantt
  • CSS imports for all themes (material3, bootstrap5, fluent2, tailwind3)
  • Setting up Angular standalone component with imports and providers
  • Binding data with dataSource and taskFields — self-referential vs hierarchical
  • Injecting feature services (EditService, FilterService, ToolbarService, etc.)
  • Configuring timeline, toolbar, editing, filtering, sorting
  • gridLines values: 'Both' | 'Horizontal' | 'Vertical' | 'None'
  • actionFailure error handling for common configuration mistakes

Data Binding

📄 Read: references/data-binding.md

  • Default pattern: Self-referential flat array with id + parentID (idMapping + parentIdMapping) — use this unless user explicitly asks for nested data
  • Hierarchical local data with child array — only when user explicitly requests nested/tree structure
  • Decision table: when to use self-referential vs hierarchical
  • Remote data binding with DataManager and adaptors (ODataV4, WebApiAdaptor, UrlAdaptor)
  • Load-on-demand (virtual loading) with loadChildOnDemand and hasChildMapping
  • Observable / RxJS data binding with async pipe
  • Remote CRUD with crudUrl, insertUrl, updateUrl, removeUrl, batchUrl
  • Common gotchas table (missing isPrimaryKey, wrong adaptor, parent date issues)

Observable CRUD Operations

📄 Read: references/observable-crud.md

  • Handle add, edit, delete operations with Observable data binding via dataSourceChanged event
  • Service extends BehaviorSubject for proper Observable binding
  • Extract task data correctly: use (args.data as any).taskData for edit operations
  • Always call args.endEdit() after CRUD operation completes to notify Gantt
  • Single vs multiple record deletion: check args.data.length
  • Emit updated data via super.next() / this.next() to refresh UI
  • Handle errors gracefully and ensure endEdit() is called even on failure

Task Scheduling

📄 Read: references/task-scheduling.md

  • taskMode: 'Auto' (default), 'Manual', 'Custom' (per-task via boolean field)
  • Auto mode: dates calculated from dependencies, working time, and holidays
  • Manual mode: all dates fixed as-is in data source; use validateManualTasksOnLinking to still adjust on link
  • Custom mode: per-task scheduling via mapped boolean field in data source
  • Unscheduled tasks (allowUnscheduledTasks) — partial dates, floating bars
  • durationUnit: 'Day' | 'Hour' | 'Minute' | 'Week' | 'Month'
  • Duration units with embedded values: '5 days', '2 weeks', '1 month'
  • daysPerWeek and daysPerMonth — conversion controls for week/month-based scheduling
  • Working days: workWeek array (default Mon–Fri); includeWeekend: true makes all 7 days working
  • Working hours: dayWorkingTime — array of { from, to } ranges (default 8–17); affects hour-based durations
  • Baseline dates (renderBaseline, baselineStartDate, baselineEndDate, baselineDuration, baselineColor) and baselineTemplate for custom baseline rendering
  • Work scheduling (effort-driven) with work field and workUnit

Calendar Settings

📄 Read: references/calendar-settings.md

  • calendarSettings — top-level calendar configuration for the Gantt chart
  • calendarSettings.projectCalendar — default working days, working hours, holidays, and exceptions for all tasks
  • calendarSettings.taskCalendar — task-specific calendars for shift-based, team-based, or region-based scheduling
  • taskFields.calendarId — maps a task record to a named task calendar- calendarSettings.taskCalendar fully overrides the project calendar for matched tasks
  • Task calendars affect working time calculation, duration calculation, holidays, weekends, and dependency scheduling- hoursPerDay — converts working duration into day-based duration values for display and calculations
  • Calendar exceptions allow date-specific overrides for working time and non-working time
  • Task calendars override the project calendar for assigned tasks
  • Holidays, weekends, and working-hours rules affect task duration, dependency resolution, and taskbar placement

Task Dependencies

📄 Read: references/task-dependencies.md

  • Dependency types: FS (Finish-to-Start), SS, FF, SF — format: '2FS', '3SS+1d'
  • Comma-separated multiple predecessors: '2FS,3SS'
  • Predecessor lag/lead offsets with d/h/m units
  • autoUpdatePredecessorOffset — sync offset values with actual positions on load
  • allowParentDependency — enable parent-child and cross-hierarchy dependencies
  • allowedDependencyTypes — restrict dependency creation and editing to selected types
  • Editing via connector line drag when editSettings.allowTaskbarEditing: true
  • actionBegin requestType: 'validateLinkedTask' — handle dependency conflicts
  • Programmatic: addPredecessor(), removePredecessor(), updateRecordById()
  • connectorLineWidth and connectorLineBackground for connector styling

Task Constraints

📄 Read: references/task-constraints.md

  • 8 constraint types: ASAP (0), ALAP (1), MSO (2), MFO (3), SNET (4), SNLT (5), FNET (6), FNLT (7)
  • Map via taskFields.constraintType (numeric) and taskFields.constraintDate (Date)
  • Constraints enforced only in Auto mode; stored-but-passive in Manual mode
  • Conflicts with dependencies surface in actionBegin event

Managing Tasks

📄 Read: references/managing-tasks.md

  • editSettings: allowEditing, allowAdding, allowDeleting, allowTaskbarEditing, mode ('Auto' | 'Dialog')
  • Cell editing with editType per column: 'numericedit', 'defaultedit', 'dropdownedit', 'booleanedit', 'datepickeredit'
  • Dialog editing with custom tab configuration (addDialogFields, editDialogFields)
  • Programmatic: addRecord(), updateRecordById(), deleteRecord(), openAddDialog(), openEditDialog(id)
  • Expand/collapse: expandAll(), collapseAll(), expandByID(id), collapseByID(id); events: expanding, expanded, collapsing, collapsed
  • Validation via actionBegin event (args.cancel = true to block)
  • Server CRUD via actionComplete + requestType inspection
  • Indent / outdent hierarchy changes via toolbar or indent() / outdent() methods

Splitting and Merging Tasks

📄 Read: references/splitting-and-merging.md

  • taskFields.segments for hierarchical data; taskFields.segmentId for self-referential data
  • Split at load time or dynamically via dialog Segments tab or context menu SplitTask
  • Merge via context menu MergeTask or by dragging segments together
  • onTaskbarClick with segmentIndex to detect which segment was clicked
  • Limitations: no splits on parent/milestone tasks; incompatible with multi-taskbar resource view

Resources

📄 Read: references/resources.md

  • resources (data) + resourceFields (field mapping: id, name, unit, group)
  • taskFields.resourceInfo to link resources to tasks
  • Resource view mode (viewType: 'ResourceView') with row-per-resource display
  • showOverAllocationAsMultiTaskbar — stacked taskbars for over-allocated resources
  • allowTaskbarOverlap — controls overlapping vs stacked taskbars in resource rows (and affects same-resource dependency rendering)
  • Work-based scheduling: work field, taskType ('FixedWork', 'FixedDuration', 'FixedUnit')
  • Work unit: workUnit: 'Hour' | 'Day' | 'Minute'

Calendar Settings

📄 Read: references/calendar-settings.md

  • Project calendar defines the default working schedule for the entire project
  • Task calendars let specific tasks follow their own working days, holidays, and exceptions
  • calendarId selects the task calendar used by a task record
  • hoursPerDay controls how day-based duration values are interpreted
  • Task calendars do not merge with the project calendar; assigned task calendars take precedence for that task
  • Use task calendars for multi-shift, multi-team, or region-specific scheduling requirements

Columns

📄 Read: references/columns.md

  • Column field, headerText, width, format, type, template, headerTemplate
  • Column reordering (allowReordering), resizing (allowResizing)
  • Frozen columns (freeze: 'Left' | 'Right') — requires FreezeService
  • Column spanning via queryCellInfo
  • treeColumnIndex for tree expand/collapse column
  • WBS (Work Breakdown Structure) column with columnType: 'WBS'
  • Serial Number column with enableSerialNumber: true and field: 'SerialNumber'
  • Serial numbers recalculate after sorting, filtering, virtualization, row drag-and-drop, paging, CRUD, and hierarchy changes
  • Recalculation after filtering, searching, sorting, expanding/collapsing, indentation, CRUD, row drag-and-drop, and data refresh
  • Column menu (showColumnMenu) — sort, filter, auto-fit, column chooser
  • isPrimaryKey requirement for CRUD operations

Timeline

📄 Read: references/timeline.md

  • timelineSettings configuration
  • Top tier and bottom tier customization
  • Timeline view modes (day/week/month/year)
  • Formatter function with (date, format, tier, mode) parameters
  • Timeline cell width (timelineUnitSize)
  • Custom date formats
  • projectStartDate and projectEndDate
  • Timeline view window (viewStartDate / viewEndDate)
  • Week start day (weekStartDay)
  • Automatic timescale update (updateTimescaleView)
  • Infinite timeline scrolling (enableInfiniteTimelineScroll)
  • Weekend highlighting (timelineSettings.showWeekend)
  • Timeline cells tooltip (showTooltip)
  • timelineTemplate — custom HTML in tier header cells (via <ng-template #timelineTemplate let-data> using data.date, data.value, data.tier)
  • Navigate timeline (previousTimeSpan() / nextTimeSpan())
  • Zooming in and out

Taskbar

📄 Read: references/taskbar.md

  • taskbarTemplate, parentTaskbarTemplate, milestoneTemplate — full custom templates
  • labelSettings: leftLabel, rightLabel, taskLabel (field names or templates)
  • Label templates with ng-template for rich content rendering
  • queryTaskbarInfo — dynamic styling: taskbarBgColor, progressBarBgColor, taskbarBorderColor
  • indicators / data markers on individual tasks: date, iconClass, label, tooltip
  • Tooltip customization via tooltipSettings.taskbar template
  • taskbarHeight, taskbarCornerRadius, allowTaskbarDragAndDrop

Taskbar Draw

📄 Read: references/taskbar-draw.md

  • editSettings.allowTaskbarDraw — enables drawing taskbars directly on the timeline to create or schedule unscheduled tasks
  • Taskbar drawing behavior and user workflow
  • Scheduling output: StartDate, EndDate, Duration generated from drawn range
  • Fully unscheduled, partially scheduled, parent, child, milestone, and manually scheduled task scenarios
  • Feature interactions with taskbar editing, dialog editing, cell editing, validation, working time, and calendar rules
  • Implementation example with toolbar and column configuration
  • Best practices and limitations

Filtering and Searching

📄 Read: references/filtering-and-searching.md

  • allowFiltering: true + FilterService — menu and Excel filter types
  • filterSettings.type: 'Menu' (default) | 'Excel'
  • filterSettings.hierarchyMode: 'Parent' | 'Child' | 'Both' | 'None'
  • Initial filter on load via filterSettings.columns array
  • Searching: allowSearching: true + 'Search' in toolbar
  • searchSettings: fields, operator, ignoreCase
  • Programmatic: filterByColumn(), clearFiltering(), search()

Sorting

📄 Read: references/sorting.md

  • allowSorting: true + SortService — click column headers to sort
  • Disable per column: { field: 'TaskID', allowSorting: false }
  • Multi-column sort: Ctrl+click additional headers; Shift+click to remove
  • Initial sort on load via sortSettings.columns array
  • Programmatic: sortColumn(), removeSortColumn(), clearSorting()

Rows

📄 Read: references/rows.md

  • rowDataBound / queryCellInfo — dynamic row/cell styling
  • rowHeight — uniform row height in pixels (must exceed taskbarHeight)
  • rowSpan via queryCellInfo — vertical cell spanning
  • allowRowDragAndDrop — drag rows to reorder/reparent; rowDrop events
  • indent() / outdent() — change hierarchy level for the selected row
  • autoFocusTasks — focus the matching taskbar when a row is selected

Selection

📄 Read: references/selection.md

  • allowSelection: true + SelectionService — required for any selection feature
  • selectionSettings.mode: 'Row' (default) | 'Cell' | 'Both'
  • selectionSettings.type: 'Single' (default) | 'Multiple' (Ctrl+click for multi-select)
  • selectionSettings.enableToggle — click to deselect already-selected row
  • selectionSettings.hierarchyMode / hierarchy checkbox selection modes: 'Self' | 'Hierarchy' | 'FilteredHierarchy'
  • Cell selection modes: 'Flow' | 'Box' | 'BoxWithBorder'
  • Programmatic: selectRow(), selectRows(), selectCell(), clearSelection(), getSelectedRecords()

Scrolling

📄 Read: references/scrolling.md

  • enableVirtualization: true + VirtualScrollService — DOM virtualization for large datasets
  • enableTimelineVirtualization — virtualize timeline columns independently
  • Splitter: splitterSettings.position (percentage string or pixel value), columnIndex, view ('Default' | 'Grid' | 'Chart')
  • Programmatic: scrollToDate('04/02/2024'), scrollToTaskbar(taskId)
  • Virtual scroll limitations: row/column templates, grouping, and some aggregate features not supported

Toolbar

📄 Read: references/toolbar.md

  • ToolbarService required; set toolbar as string array or mixed ItemModel array
  • Built-in items: 'Add', 'Edit', 'Delete', 'Update', 'Cancel', 'ExpandAll', 'CollapseAll', 'Search', 'Indent', 'Outdent', 'ZoomIn', 'ZoomOut', 'ZoomToFit', 'ExcelExport', 'CsvExport', 'PdfExport', 'CriticalPath', 'Undo', 'Redo', 'SplitTask', 'MergeTask', 'ColumnChooser'
  • Custom items via ItemModel: text, id, prefixIcon, align, tooltipText
  • { type: 'Separator' } for visual dividers
  • toolbarClick event — use args.item.id to identify clicked item (format: '{ganttId}_{itemId}')
  • Enable/disable programmatically: enableToolbarItems() / disableToolbarItems()

Programmatic Methods

📄 Read: references/gantt-methods.md

  • Column utilities: autoFitColumns()
  • Edit control: cancelEdit(), openAddDialog(), openEditDialog()
  • Task management: deleteRecord(), convertToMilestone(), changeTaskMode(), updateRecordByID(), updateRecordByIndex(), updateTaskId(), updateDataSource(), updateProjectDates()
  • Toolbar control: enableItems()
  • Expand/Collapse: expandByIndex(), expandByID(), collapseByIndex(), collapseByID()
  • Undo/Redo stacks: clearUndoCollection(), clearRedoCollection(), getUndoActions(), getRedoActions()
  • Data retrieval: getCurrentViewData(), getRecordByID(), getTaskByUniqueID(), getTaskInfo(), getTaskbarHeight(), getExpandedRecords(), getGanttColumns(), getGridColumns()
  • Formatting helpers: getDurationString(), getWorkString()
  • DOM access: getRowByID(), getRowByIndex()
  • Sorting: removeSortColumn()
  • Selection: selectCells()
  • Row reorder: reorderRows()
  • Scrolling: scrollToTask(), updateChartScrollOffset()

Events

📄 Read: references/events.md

  • Lifecycle: load, created, dataBound, destroyed
  • Edit lifecycle: actionBegin (cancel with args.cancel = true), actionComplete, actionFailure
  • Taskbar: taskbarEditing, taskbarEdited, onTaskbarClick, queryTaskbarInfo
  • Row/cell: rowDataBound, queryCellInfo, rowSelected, rowDeselected, cellSelected
  • Expand/collapse: expanding, expanded, collapsing, collapsed
  • Export: beforeExcelExport, excelExportComplete, beforePdfExport, pdfExportComplete, pdfQueryTaskbarInfo
  • recordDoubleClick — open custom edit on double click

Context Menu

📄 Read: references/context-menu.md

  • enableContextMenu: true + ContextMenuService — right-click on rows or header
  • Default items include: 'AutoFitAll', 'AutoFit', 'SortAscending', 'SortDescending', 'Add', 'Edit', 'Delete', 'Save', 'Cancel', 'Indent', 'Outdent', 'TaskInformation', 'SplitTask', 'MergeTask'
  • Custom items via ContextMenuItemModel: text, id, iconCss, target (row/header)
  • contextMenuOpen — dynamically hide/show items per row
  • contextMenuClick — handle item selection

Holidays and Event Markers

📄 Read: references/holidays-and-markers.md

  • DayMarkersService required for both holidays and event markers
  • holidays: array of { from, to?, label, cssClass } — non-working days that extend task durations
  • eventMarkers: array of { day, label, cssClass, top? } — full-height vertical lines at specific dates
  • Custom styling per type via cssClass + CSS targeting .e-gantt-event-marker / .e-span-label
  • top property staggers overlapping markers at the same date

Critical Path

📄 Read: references/critical-path.md

  • enableCriticalPath: true + CriticalPathService — highlights zero/negative-slack tasks in red
  • 'CriticalPath' toolbar item — user toggle button
  • getCriticalTasks() — returns array of IGanttData objects with slack value
  • queryTaskbarInfo + ganttProperties.isCritical — conditional per-task coloring
  • CSS overrides: .e-critical-path-container, .e-critical-connector-line
  • Rules: completed tasks (100%) excluded; parent/child criticality independent; auto-recalculates on any change

Export (Excel and PDF)

📄 Read: references/export.md

  • Excel: allowExcelExport: true + ExcelExportService; call excelExport() / csvExport()
  • PDF: allowPdfExport: true + PdfExportService; call pdfExport()
  • ExcelExportProperties: fileName, dataSource, includeHiddenColumn, header, footer
  • PdfExportProperties: fileName, pageOrientation, pageSize, fitToWidthSettings, ganttStyle, theme
  • PDF header/footer content types: Text, Line, PageNumber, Image
  • Single-page export: fitToWidthSettings.isFitToWidth: true
  • Blob export: pdfExport({}, true) → blob available in pdfExportComplete event
  • Multi-Gantt export to one PDF via chained pdfExport() with multipleExport
  • pdfQueryTaskbarInfo — per-taskbar colors in PDF output

Undo / Redo

📄 Read: references/undo-redo.md

  • enableUndoRedo: true + UndoRedoService — up to 10 steps by default
  • undoRedoActions array — choose which action types are tracked (18 supported actions)
  • undoRedoStepsCount — configure history depth
  • Keyboard: Ctrl+Z / Ctrl+Y; programmatic: undo() / redo()
  • 'Undo' / 'Redo' toolbar items auto-disable when history is exhausted

State Persistence

📄 Read: references/state-persistence.md

  • enablePersistence: true — saves filter/sort/column state to localStorage under key '{id}gantt'
  • Requires unique id on <ejs-gantt> element
  • Reset methods: clearStorage(), remove localStorage key manually, or set new id
  • Immutable mode (enableImmutableMode) — only re-renders changed rows for large-dataset performance
  • Loading animation: loadingIndicator.indicatorType — 'Spinner' (default) | 'Shimmer'
  • Manual spinner: showSpinner() / hideSpinner()

Localization, RTL and Formatting

📄 Read: references/localization-rtl.md

  • locale property + setCulture() + L10n.load() — translate all Gantt UI strings
  • Full locale key reference for the 'gantt' namespace
  • RTL: [enableRtl]="true" + locale="ar" — reverses layout direction
  • timezone — IANA timezone string (e.g. 'America/New_York', 'UTC') for consistent cross-region dates
  • Column date formatting: format string or { type: 'date', skeleton: 'yMd' }
  • Column number formatting: 'N2', 'C2', 'P1' etc.

Quick Start Example

import { Component } from '@angular/core';
import { GanttModule, EditService, SortService, FilterService, ToolbarService, SelectionService } from '@syncfusion/ej2-angular-gantt';

@Component({
  imports: [GanttModule],
  standalone: true,
  providers: [EditService, SortService, FilterService, ToolbarService, SelectionService],
  selector: 'app-root',
  template: `
    <ejs-gantt
      [dataSource]="data"
      [taskFields]="taskFields"
      [height]="'450px'"
      [toolbar]="toolbar"
      [allowFiltering]="true"
      [allowSorting]="true"
      [editSettings]="editSettings">
    </ejs-gantt>
  `
})
export class AppComponent {
  // Default: self-referential data (flat array with id + parentID)
  // Use hierarchical (child array) only if user explicitly requests it
  public data: object[] = [
    { TaskID: 1, TaskName: 'Project Initiation',    StartDate: new Date('04/02/2024'), Duration: 5,  Progress: 0,  ParentID: null },
    { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50, ParentID: 1 },
    { TaskID: 3, TaskName: 'Perform Soil test',      StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50, ParentID: 1 },
    { TaskID: 4, TaskName: 'Soil test approval',     StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50, ParentID: 1, Predecessor: '3FS' }
  ];
  public taskFields: object = {
    id: 'TaskID',         // idMapping
    name: 'TaskName',
    startDate: 'StartDate',
    duration: 'Duration',
    progress: 'Progress',
    dependency: 'Predecessor',
    parentID: 'ParentID'  // parentIdMapping — null = root task
  };
  public toolbar: string[] = ['Add', 'Edit', 'Delete', 'ExpandAll', 'CollapseAll', 'Search'];
  public editSettings: object = { allowEditing: true, allowAdding: true, allowDeleting: true, allowTaskbarEditing: true };
}

Common Patterns

When user needs task editing

→ Set editSettings.allowEditing: true, inject EditService → Use mode: 'Auto' for cell editing, mode: 'Dialog' for dialog

When user needs large dataset performance

→ Read references/scrolling.md — enable enableVirtualization: true + VirtualScrollService

When user needs to export data

→ Read references/export.md — inject ExcelExportService or PdfExportService

When user needs resource management

→ Read references/resources.md — configure resources + resourceFields

When user needs calendar-based task scheduling

→ Read references/calendar-settings.md — configure calendarSettings, calendarId, and hoursPerDay

When user needs undo/redo

→ Read references/undo-redo.md — inject UndoRedoService, set enableUndoRedo: true

When user needs localization or RTL

→ Read references/localization-rtl.md — call L10n.load() before bootstrap, set locale and enableRtl

When user needs state persistence

→ Read references/state-persistence.md — set enablePersistence: true and unique id

When user needs split/segment tasks

→ Read references/splitting-and-merging.md — map taskFields.segments, inject EditService


Key Module Injections

FeatureService to Inject
Editing (add/edit/delete/taskbar drag)EditService
FilteringFilterService
SortingSortService
ToolbarToolbarService
SelectionSelectionService
Day Markers / Holidays / Event MarkersDayMarkersService
Critical PathCriticalPathService
Excel / CSV ExportExcelExportService
PDF ExportPdfExportService
Undo / RedoUndoRedoService
Column MenuColumnMenuService
Context MenuContextMenuService
Virtual ScrollingVirtualScrollService
Row Drag and DropRowDDService
Column ReorderingReorderService
Frozen ColumnsFreezeService
Column ResizingResizeService

Key Props Reference

PropertyTypeDefaultDescription
dataSourceobject[] | DataManager[]Task data — self-referential (flat) or hierarchical
taskFieldsTaskFieldsModel—Maps data fields to Gantt task properties
heightstring | number'auto'Component height (e.g. '450px')
taskModestring'Auto'Scheduling mode: 'Auto' | 'Manual' | 'Custom'
editSettingsEditSettingsModel—Enable add/edit/delete/taskbar editing and edit mode
toolbarstring[] | ItemModel[]—Toolbar buttons — requires ToolbarService
allowFilteringbooleanfalseEnable column filter menus — requires FilterService
filterSettingsFilterSettingsModel—type, hierarchyMode, columns (initial filters)
allowSortingbooleanfalseEnable column sorting — requires SortService
sortSettingsSortSettingsModel—columns array for initial sort on load
allowSelectionbooleantrueEnable row/cell selection — requires SelectionService
selectionSettingsSelectionSettingsModel—mode, type, enableToggle, cellSelectionMode
enableCriticalPathbooleanfalseHighlight critical path — requires CriticalPathService
enableUndoRedobooleanfalseEnable undo/redo — requires UndoRedoService
undoRedoActionsstring[](all actions)Which action types to track in history
undoRedoStepsCountnumber10Maximum undo/redo history depth
enablePersistencebooleanfalsePersist filter/sort/column state to localStorage
enableImmutableModebooleanfalseRe-render only changed rows on data refresh
allowExcelExportbooleanfalseEnable Excel export — requires ExcelExportService
allowPdfExportbooleanfalseEnable PDF export — requires PdfExportService
enableContextMenubooleanfalseEnable right-click context menu — requires ContextMenuService
contextMenuItemsstring[] | ContextMenuItemModel[](defaults)Context menu items
enableVirtualizationbooleanfalseDOM virtualization for large datasets — requires VirtualScrollService
enableTimelineVirtualizationbooleanfalseVirtualize timeline columns
renderBaselinebooleanfalseShow baseline bars alongside current taskbars
baselineTemplatestring | TemplateRef—Custom template for rendering baseline bars
baselineColorstring'red'Baseline bar color
allowUnscheduledTasksbooleanfalseAllow tasks missing start/end/duration
validateManualTasksOnLinkingbooleanfalseAdjust manual task dates when dependency links change
allowParentDependencybooleantrueAllow dependencies between parent/child tasks
autoUpdatePredecessorOffsetbooleanfalseSync predecessor offsets with actual positions on load
enableInfiniteTimelineScrollbooleanfalseEnable infinite horizontal timeline scrolling
highlightWeekendsbooleanfalseShade weekend columns in timeline
gridLinesstring'Both'Grid lines: 'Both' | 'Horizontal' | 'Vertical' | 'None'
rowHeightnumber36Height of each row in pixels
allowRowDragAndDropbooleanfalseDrag rows to reorder or reparent
showColumnMenubooleanfalseColumn header context menu — requires ColumnMenuService
timelineSettingsTimelineSettingsModel—topTier, bottomTier, timelineUnitSize, weekStartDay
timelineViewModestring—Shortcut: 'Hour' | 'Day' | 'Week' | 'Month' | 'Year'
projectStartDateDate | string(from data)Fix timeline start bound
projectEndDateDate | string(from data)Fix timeline end bound
holidaysHolidayModel[][]Non-working days with labels — requires DayMarkersService
eventMarkersEventMarkerModel[][]Vertical marker lines — requires DayMarkersService
resourcesobject[]—Resource data array
resourceFieldsResourceFieldsModel—Maps resource id, name, unit, group fields
localestring'en-US'Culture code for localization (e.g. 'fr', 'ar')
enableRtlbooleanfalseRight-to-left layout
timezonestring(browser)IANA timezone (e.g. 'UTC', 'America/New_York')
durationUnitstring'Day'Default duration unit: 'Day' | 'Hour' | 'Minute'
workUnitstring'Hour'Work scheduling unit: 'Hour' | 'Day' | 'Minute'
workWeekstring[]Mon–FriWorking days: ['Monday','Tuesday','Wednesday','Thursday','Friday']
includeWeekendbooleanfalseTreat all 7 days as working days
dayWorkingTimeobject[][{from:8,to:17}]Working hour ranges per day: [{ from: 8, to: 12 }, { from: 13, to: 17 }]
dateFormatstring'MM/dd/yyyy'Global date display format for all date columns
splitterSettingsSplitterSettingsModel—position, columnIndex, view for TreeGrid/chart split
loadingIndicatorLoadingIndicatorModel—indicatorType: 'Spinner' | 'Shimmer'

FAQ

What does the syncfusion-angular-gantt-chart skill do?

Implement and configure the Syncfusion Angular Gantt Chart component (ejs-gantt, GanttModule). Use this when building Angular applications with Gantt chart functionality, task scheduling, dependencies, or resource management. Covers component setup, task dependencies, taskbar editing, critical path analysis, resource allocation, timeline configuration, filtering, sorting, export, undo/redo, state persistence, and localization.

How do I install syncfusion-angular-gantt-chart?

Run npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-gantt-chart in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-angular-gantt-chart/ (personal) or .claude/skills/syncfusion-angular-gantt-chart/ (project).

Which AI agents can use syncfusion-angular-gantt-chart?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-angular-gantt-chart safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-angular-gantt-chart?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 311 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Implements Syncfusion Angular Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

Common utilities and features for Syncfusion Angular components. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion Angular components.

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Use this skill when the user asks about Syncfusion Angular licensing, license keys, license registration, license validation errors, trial licenses, or license troubleshooting. This skill provides comprehensive guidance on generating, registering, and managing Syncfusion license keys for Angular applications, including edition-based and platform-based licensing models, registration methods, CI/CD integration, and resolving common licensing errors.

Frontend & Design319 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Use this skill when users need to apply themes, customize appearance, switch dark mode, use CSS variables, configure icons, or modify visual styling for Syncfusion Angular components. Covers icon library, size modes, and Theme Studio integration.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs