Draw Task

drag.draw adds an empty row at the end of each group: drag across it to draw a new task (a dashed ghost shows the dates and length), or click "+ Add task" in the grid. The new item matches its neighbours' data shape and fires a cancelable taskCreate; undo removes it.

Chart type
Gantt gantt
Tier
Premium
Collection
Gantt
Render
Live, site theme
View .md Agent setup
LIVE/gantt/draw-task20 of 35 in Gantt

Configuration

Raw Standalone
const options = {
  chart: {
    height: "auto",
    toolbar: {
      show: false
    },
    type: "gantt",
    events: {
      taskCreate: (e, ctx, o) => log(o.source + ': ' + (o.data.x || o.data.name) + ' ' + JSON.stringify(o.data.y || [o.data.start, o.data.end]))
    }
  },
  series: [
    {
      name: "Design",
      data: [
        {
          id: "a",
          x: "Workshop",
          y: [1792360800000, 1792533600000],
          progress: 100
        },
        {
          id: "b",
          x: "Wireframes",
          y: [1792533600000, 1793055600000],
          progress: 50,
          dependsOn: ["a"]
        }
      ]
    },
    {
      name: "Build",
      data: [
        {
          id: "c",
          x: "Prototype",
          y: [1792969200000, 1793574000000],
          progress: 10,
          dependsOn: ["b"]
        }
      ]
    }
  ],
  plotOptions: {
    gantt: {
      today: {
        date: "2026-10-22"
      },
      drag: {
        enabled: true,
        draw: true
      },
      range: {
        min: 1792188000000,
        max: 1794092400000
      }
    }
  },
  theme: {
    mode: "light",
    preset: "coastal"
  }
}

const chart = new WestCoastCharts(document.querySelector('#chart'), options)
chart.render()

This example uses Premium modules. Compare licences · Embedding in a distributed product?