BMX Web Components evaluation

<bmx-gantt>

A project plan.

The dates are worked out, not typed. Each task has a duration and links; the chart schedules them against the working calendar — weekends and the two holidays here — and draws the tasks with no room to slip as the critical path. Drag a bar, its end or its progress grip, or draw a link from the dot at a bar's end to another bar, and everything that depends on it moves with it.
Every edit is a cancelable event. bmxTaskChange and bmxLinkChange carry the whole list as it would be; call preventDefault() to refuse one, or set apply-changes="false" and assign the lists yourself. canChange refuses a drag while it is still in the reader's hand.
Tab into the task list once, then use the keyboard. The arrows move between rows, → and ← open and close a summary, F2 edits a cell, Shift+→ moves a task a working day and Ctrl+Shift+→ lengthens it. Links are typed in the Predecessors column — 2, 3SS+1 — so nothing the pointer can do needs a pointer.

Every property, event and method: https://docs.binarymission.co.uk/webcomponents/bmx/bmx-gantt.html