app
Adom Gantt
Public Made by Adomby adom
Interactive Gantt chart viewer for project timelines, with a table view and an analytics page over the same data. Data-driven, dark by default with a print-friendly light mode, and fully editable in the browser: drag bars to move or resize, multi-select and batch-shift dates, manage dependency arrows inline, reorder rows, filter by phase, and undo. One click auto-schedules the whole plan so every dependency lines up finish-to-start on working days, skipping weekends and US federal holidays, push
← Commit history
0.11.0 followup: canonicalise status on the way out of mergedData
CSV export aliased the status vocabulary but /export/json did not, so the two
disagreed whenever a sidecar carried the old words, which the live plan's does.
Normalise once in mergedData instead, so json, csv, svg and the html snapshot all
speak the four states. Stored data is still never touched: a sidecar saying live
keeps saying it until the user next saves.
1 file changed
+5
server.js+5@@ -433,6 +433,11 @@ function mergedData() { data.items = reordered; } }+ // The merged plan is the app's canonical output, so it speaks the canonical+ // vocabulary. Stored data is never touched: this normalises on the way OUT, so+ // /export/json, /export/csv, the SVG and the HTML snapshot all agree, and a+ // sidecar still saying "live" keeps saying it until the user next saves.+ data.items.forEach(r => { if (r.status) r.status = statusKey(r.status); }); return data; }