{"id":15056204,"url":"https://github.com/dariol83/timeline","last_synced_at":"2026-01-04T12:08:11.827Z","repository":{"id":232264226,"uuid":"779933418","full_name":"dariol83/timeline","owner":"dariol83","description":"OpenJFX Timeline/Gantt Chart Widget","archived":false,"fork":false,"pushed_at":"2024-08-15T17:50:31.000Z","size":413,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T04:06:45.356Z","etag":null,"topics":["chart","gantt-chart","gantt-diagram","java","javafx","openjfx","widget-library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dariol83.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-31T07:39:20.000Z","updated_at":"2025-01-04T23:39:56.000Z","dependencies_parsed_at":"2024-04-28T13:46:10.751Z","dependency_job_id":"26f2a8d6-b330-4fa8-8491-5f2cb361b892","html_url":"https://github.com/dariol83/timeline","commit_stats":null,"previous_names":["dariol83/timeline"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariol83%2Ftimeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariol83%2Ftimeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariol83%2Ftimeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dariol83%2Ftimeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dariol83","download_url":"https://codeload.github.com/dariol83/timeline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154984,"owners_count":21056543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chart","gantt-chart","gantt-diagram","java","javafx","openjfx","widget-library"],"created_at":"2024-09-24T21:49:03.922Z","updated_at":"2026-01-04T12:08:11.822Z","avatar_url":"https://github.com/dariol83.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Timeline Chart\n\n[\u003cimg src=\"https://img.shields.io/maven-central/v/eu.dariolucia.jfx/eu.dariolucia.jfx.timeline?color=greem\u0026style=flat\"\u003e](https://search.maven.org/search?q=eu.dariolucia.jfx.timeline)\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003eeu.dariolucia.jfx\u003c/groupId\u003e\n        \u003cartifactId\u003eeu.dariolucia.jfx.timeline\u003c/artifactId\u003e\n        \u003cversion\u003e${timeline.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\n## Introduction\nThis module contains an implementation of a timeline/Gantt chart for JavaFX. The widget supports the following features:\n- Definition of several task item per task line, each with its own colour, start time, expected and actual durations; \n- Grouping of task lines in flat groups and hierarchical groups;\n- Projection of aggregated task item durations when groups are collapsed or always on; \n- Handling of time overlaps among task items belowing to the same task line, dynamically rendered on separate lines;\n- Time cursors and time intervals (in foreground and background);\n- Time points with basic shapes and custom images (contributions from  [Shersula](https://github.com/Shersula));\n- Scrolling and zooming via mouse scroll;\n- Single selection model for task items;\n- Dynamic column sizing;\n- Appearance fully customisable per task item, task lines and group of lines via inheritance;\n- Usable programmatically and via FXML.\n\n![Screenshot](img/timeline.png \"Timeline Chart Widget\")\n\n## Usage (basic)\n\n    // Create timeline\n    Timeline tl = new Timeline();\n    // Add data defaults for testing\n    Instant currentTime = Instant.now();\n    tl.setMinTime(currentTime.minusSeconds(3600));\n    tl.setMaxTime(currentTime.plusSeconds(12800));\n    tl.setViewPortStart(currentTime);\n    tl.setViewPortDuration(1200);\n    // Add task lines\n    TaskLine theLine = new TaskLine(\"Task Line 1\", \"First task line\");\n    // Add items to the task line\n    theLine.getItems().add(new TaskItem(\"Task 1\", currentTime.plusSeconds(30), 98, 0));\n    theLine.getItems().add(new TaskItem(\"Task 2\", currentTime.plusSeconds(130), 28, 0));\n    // Add the task line to the timeline\n    tl.getItems().add(theLine);\n    // Add to application and render\n\n## Limitations\nFor optimisation reasons, the widget works with a time resolution in seconds. Sub-second resolution is not supported, i.e.\ntimes are truncated to seconds.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdariol83%2Ftimeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdariol83%2Ftimeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdariol83%2Ftimeline/lists"}