Search packages, repositories and app categories

GitHub repositoryIvanHerreraCasas/dynamic_timeline

dynamic_timeline

A widget to create daily timelines, timetables, gantt charts* and more.

dynamic_timeline project cover
Stars
14
Forks
7
Last push (UTC)
Jun 18, 2023
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

pub package style: very good analysis License: MIT Codecov

A widget to create daily timelines, timetables, gantt charts* and more.

Note: This package is in early stage and has not been tested with large amount of data.

Daily timeline

Daily timeline

Weekly timetable

Weekly timetable styled Weekly timetable

Gantt chart

Gantt chart styled Gantt chart

Features

  • Easy to use API.
  • Rezizable timeline items.
  • Custom label builder.

Usage

Installation

Add the following line to pubspec.yaml:

dependencies:
  dynamic_timeline: ^0.1.2

Basic set up

Make sure to check out the example for more details.

Dynamic timeline requires you to provide firstDateTime, lastDateTime, labelBuilder and a list of items.

  • labelBuilder: Used to build the label of each mark, normally a dateFormat will be used.
  • items: The events of the timeline, who are positioned according to its start and end date times.

Another important property is intervalDuration, that is the lenght of time between each mark.

Example of a daily timeline.

DynamicTimeline(
    firstDateTime: DateTime(1970, 1, 1, 7),
    lastDateTime: DateTime(1970, 1, 1, 22),
    labelBuilder: DateFormat('HH:mm').format,
    intervalDuration: const Duration(hours: 1),
    children: [
      TimelineItem(
        startDateTime: DateTime(1970, 1, 1, 7),
        endDateTime: DateTime(1970, 1, 1, 8),
        child: const Event(title: 'Event 1'),
      ),
      TimelineItem(
        startDateTime: DateTime(1970, 1, 1, 10),
        endDateTime: DateTime(1970, 1, 1, 12),
        child: const Event(title: 'Event 2'),
      ),
      TimelineItem(
        startDateTime: DateTime(1970, 1, 1, 15),
        endDateTime: DateTime(1970, 1, 1, 17),
        child: const Event(title: 'Event 3'),
      ),
    ],
),
Ivan GitHub avatar
GitHub author

Ivan ↗

Piura, Peru
LanguagesDartC++CMakeHTMLCSwiftKotlinObjective-C

Categories

Packages published by this repository

Dependencies used

Dependency list 5 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗