Skip to content

Подключение API

Публичные методы timeline доступны через Vue ref на компонент TimelineChart. Тип ref - TimelineChartRef<Group, Task>, где Group и Task - ваши типы данных, расширяющие TimelineGroupInput и TimelineTaskInput.

vue
<script setup lang="ts">
import { ref } from 'vue'
import {
  TimelineChart,
  type TimelineChartProps,
  type TimelineChartRef,
  type TimelineGroupInput,
  type TimelineRootData,
  type TimelineTaskInput,
} from '@engine2d/timeline-chart'

interface Group extends TimelineGroupInput {
  title: string
}

interface Task extends TimelineTaskInput {
  title: string
}

const timeline = ref<TimelineChartRef<Group, Task> | null>(null)

const start = Date.parse('2026-05-21T09:00:00+03:00')

const data: TimelineRootData<Group, Task> = {
  groups: [{ id: 'group-1', title: 'Группа 1' }],
  tasks: [{
    id: 'task-1',
    groupId: 'group-1',
    title: 'Задача 1',
    startTime: start,
    endTime: start + 2 * 60 * 60 * 1000,
  }],
}

const options: TimelineChartProps<Group, Task>['options'] = {}
</script>

<template>
  <TimelineChart
    ref="timeline"
    :data="data"
    :options="options"
    width="100%"
    height="360"
    renderer="webgl"
  />
</template>

До mount значение ref равно null, поэтому API вызывают после mount, в обработчиках UI или после проверки timeline.value.

Любой метод можно вызвать напрямую: это удобно для одной команды. Если нужно применить несколько связанных изменений за один update cycle, используйте batch: внутри callback доступен тот же API-объект.

Дальше в этом разделе каждая страница описывает отдельный метод API и его типичный сценарий применения.