Modules
Interactive Gantt charts for Phoenix LiveView.
Working-time calendars.
A global Phoenix.LiveView.ColocatedCSS implementation used to ship the
GanttEx stylesheet (see GanttEx.Live.Styles).
Critical path and slack analysis (CPM) of the current plan.
Date arithmetic used across GanttEx.
The dependency graph behind auto-scheduling (GanttEx.Scheduler) and the
critical path (GanttEx.CriticalPath).
Notifications sent by GanttEx.Live.Gantt to the LiveView that renders it.
Exports a GanttEx.Store to common formats.
The Gettext backend holding GanttEx translations.
Undo and redo for a GanttEx.Store.
Translations and localized date formatting.
Reads project data from other tools.
Computes the geometry of the chart: one bar per visible row and one path per visible link.
A dependency between two tasks.
Converts links to the params of the dependency editor and validates them.
Routes dependency arrows between two task bars.
Builds the grid columns from the :column slots of GanttEx.Live.Gantt.
Function components that make up GanttEx.Live.Gantt.
An interactive Gantt chart LiveComponent.
The only JavaScript of GanttEx: a colocated LiveView hook named
"GanttEx.Live.Hook.Gantt".
Inline SVG icons used by the chart, so the host application does not need any icon set. Paths come from Heroicons (MIT).
Translates user gestures into task and link attributes.
The GanttEx stylesheet, shipped as colocated CSS (see GanttEx.ColocatedCSS).
A vertical line on the timeline marking a date (a release, a freeze, today...).
A resource (a person, a team, a machine...) that tasks are assigned to.
Computes how loaded each resource is, column by column of the timeline.
One row of the time scale header.
Auto-scheduling: moves tasks so that dependencies and constraints hold.
An immutable, in-memory container of tasks and links.
A task (row) of the Gantt chart.
Converts tasks to lightbox form params and validates submitted params.
Maps time to pixels.
Zoom levels: named combinations of scales and column width.