# Dependency Types (Gantt example)

> WestCoast Charts 1.1.5, release, public Core release, on npm. HTML: https://westcoast-charts.com/gallery/gantt/dependency-types/ · Index for agents: https://westcoast-charts.com/llms.txt

Finish-to-start, start-to-start, finish-to-finish and start-to-finish links with lag and lead (dependsOn: [{ id, type, lag }]); the critical path follows the driving link of each type, and a link the schedule breaks is flagged (dependencies.violations).

- Chart type: `gantt` (Gantt)
- Collection: Gantt · Gantt
- Raw configuration: https://westcoast-charts.com/gallery-src/gantt/dependency-types.js
- Standalone example: https://westcoast-charts.com/embed/samples/wcc/gallery/premium/gantt/dependency-types.html

## Setup

```js
import WestCoastCharts from 'west-coast-charts'
import types from 'west-coast-charts/types'
import premium from 'west-coast-charts/premium'

WestCoastCharts.use(types).use(premium)
const WestCoastChartsPremium = premium
WestCoastCharts.setLicenseKey(LICENCE_KEY) // paid production licence; localhost evaluation needs no key
```

## Options

```js
const options = {
  chart: {
    height: "auto",
    toolbar: {
      show: false
    },
    type: "gantt"
  },
  series: [
    {
      name: "Fit-out",
      data: [
        {
          id: "a",
          x: "Demolition",
          y: [1791151200000, 1791496800000],
          progress: 100
        },
        {
          id: "b",
          x: "Electrics",
          y: [1791756000000, 1792360800000],
          progress: 60,
          dependsOn: [
            {
              id: "a",
              type: "FS",
              lag: 3
            }
          ]
        },
        {
          id: "c",
          x: "Plumbing",
          y: [1791928800000, 1792447200000],
          progress: 40,
          dependsOn: [
            {
              id: "b",
              type: "SS",
              lag: 2
            }
          ]
        },
        {
          id: "e",
          x: "Inspection",
          y: [1792101600000, 1792447200000],
          dependsOn: [
            {
              id: "c",
              type: "FF"
            }
          ]
        },
        {
          id: "f",
          x: "Plastering",
          y: [1792360800000, 1793055600000],
          dependsOn: [
            {
              id: "e",
              type: "FS",
              lag: -1
            }
          ]
        },
        {
          id: "g",
          x: "Scaffold hire",
          y: [1791237600000, 1793142000000],
          dependsOn: [
            {
              id: "h",
              type: "SF"
            }
          ]
        },
        {
          id: "h",
          x: "Painting",
          y: [1793142000000, 1793746800000],
          dependsOn: ["f"]
        },
        {
          id: "k",
          x: "Snagging",
          y: [1793314800000, 1793833200000],
          dependsOn: [
            {
              id: "h",
              type: "FF",
              lag: 2
            }
          ]
        }
      ]
    }
  ],
  plotOptions: {
    gantt: {
      today: {
        show: false
      },
      criticalPath: {
        show: true
      },
      dependencies: {
        violations: true
      }
    }
  },
  theme: {
    mode: "light",
    preset: "coastal"
  }
}

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

## Verify

- Text check (Library 1.1.5): load `west-coast-charts/agent/describe` and call `chart.describe({ format: "json" })` for the actual drawn state. The live reader is on this example’s HTML page.
- Command line (Public agent tools 0.2.3, tested with Library 1.1.5; available from the versioned GitHub release and npm, https://westcoast-charts.com/docs/cli/index.md): `wcc chart export gantt-dependency-types.json --out gantt-dependency-types.svg --with-table` (save the options above as JSON first)
