百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

gantt

> 编程语言
开源

开源 JavaScript Gantt

6.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

开源 JavaScript Gantt

Frappe Gantt

Gantt charts are bar charts that visually illustrate a project's tasks, schedule, and dependencies. With Frappe Gantt, you can build beautiful, customizable, Gantt charts with ease.

You can use it anywhere from hobby projects to tracking the goals of your team at the worksplace.

ERPNext uses Frappe Gantt.

Motivation

We needed a Gantt View for ERPNext. Surprisingly, we couldn't find a visually appealing Gantt library that was open source - so we decided to build it. Initially, the design was heavily inspired by Google Gantt and DHTMLX.

Key Features

  • Customizable Views: customize the timeline based on various time periods - day, hour, or year, you have it. You can also create your own views.
  • Ignore Periods: exclude weekends and other holidays from your tasks' progress calculation.
  • Configure Anything: spacing, edit access, labels, you can control it all. Change both the style and functionality to meet your needs.
  • Multi-lingual Support: suitable for companies with an international base.

Usage

Install with:

npm install frappe-gantt

Include it in your HTML:

<script src="frappe-gantt.umd.js"></script>
<link rel="stylesheet" href="frappe-gantt.css" />

Or from the CDN:

<script src="https://cdn.jsdelivr.net/npm/frappe-gantt/dist/frappe-gantt.umd.js"></script>
<link
    rel="stylesheet"
    href="https://cdn.jsdelivr.net/npm/frappe-gantt/dist/frappe-gantt.css"
/>

Start using Gantt:

let tasks = [
  {
    id: '1',
    name: 'Redesign website',
    start: '2016-12-28',
    end: '2016-12-31',
    progress: 20
  },
  ...
]
let gantt = new Gantt("#gantt", tasks);

// Use .refresh to update the chart
gantt.tasks.append(...)
gantt.tasks.refresh()

Configuration

Frappe Gantt offers a wide range of options to customize your chart.

Option Description Possible Values Default arrow_curve Curve radius of arrows connecting dependencies. Any positive integer. 5 auto_move_label Move task labels when user scrolls horizontally. true, false false bar_corner_radius Radius of the task bar corners (in pixels). Any positive integer. 3 bar_height Height of task bars (in pixels). Any positive integer. 30 container_height Height of the container. auto - dynamic container height to fit all tasks - or any positive integer (for pixels). auto column_width Width of each column in the timeline. Any positive integer. 45 date_format Format for displaying dates. Any valid JS date format string. YYYY-MM-DD upper_header_height Height of the upper header in the timeline (in pixels). Any positive integer. 45 lower_header_height Height of the lower header in the timeline (in pixels). Any positive integer. 30 snap_at Snap tasks at particular intervel while resizing or dragging. Any interval (see below) 1d infinite_padding Whether to extend timeline infinitely when user scrolls. true, false true holidays Highlighted holidays on the timeline. Object mapping CSS colors to holiday types. Types can either be a) 'weekend', or b) array of strings or date objects or objects in the format {date: ..., label: ...} { 'var(--g-weekend-highlight-color)': 'weekend' } is_weekend Determines whether a day is a weekend Function (d) => d.getDay() === 0 || d.getDay() === 6 ignore Ignored areas in the rendering weekend or Array of strings or date objects (weekend can be present to the array also). [] language Language for localization. ISO 639-1 codes like en, fr, es. en lines Determines which grid lines to display. none for no lines, vertical for only vertical lines, horizontal for only horizontal lines, both for complete grid. both move_dependencies Whether moving a task automatically moves its dependencies. true, false true padding Padding around task bars (in pixels). Any positive integer. 18 popup_on Event to trigger the popup display. click or hover click readonly_progress Disables editing task progress. true, false false readonly_dates Disables editing task dates. true, false false readonly Disables all editing features. true, false false scroll_to Determines the starting point when chart is rendered. today, start, end, or a date string. today show_expected_progress Shows expected progress for tasks. true, false false today_button Adds a button to navigate to today’s date. true, false true view_mode The initial view mode of the Gantt chart. Day, Week, Month, Year. Day view_mode_select Allows selecting the view mode from a dropdown. true, false false

Apart from these ones, two options - popup and view_modes (plural, not singular) - are available. They have "sub"-APIs, and thus are listed separately.

View Mode Configuration

The view_modes option determines all the available view modes for the chart. It should be an array of objects.

Each object can have the following properties:

  • name (string) - the name of view mode.
  • padding (interval) - the time above.
  • step - the interval of each column
  • lower_text (date format string or function) - the format for text in lower header. Blank string for none. The function takes in currentDate, previousDate, and lang, and should return a string.
  • upper_text (date format string or function) - the

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •Customizable Views: customize the timeline based on various time periods - day, hour, or year, you have it. You can also create your own views.
  • •Ignore Periods: exclude weekends and other holidays from your tasks' progress calculation.
  • •Configure Anything: spacing, edit access, labels, you can control it all. Change both the style and functionality to meet your needs.
  • •Multi-lingual Support: suitable for companies with an international base.
  • •name (string) - the name of view mode.
  • •padding (interval) - the time above.
  • •step - the interval of each column
  • •upper_text (date format string _or_ function) - the

> 标签

JavaScriptfrappe-ganttganttgantt-chartganttjs

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言