Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[charts] Implement Gantt Chart #8732

Open
joserodolfofreitas opened this issue Apr 24, 2023 · 37 comments
Open

[charts] Implement Gantt Chart #8732

joserodolfofreitas opened this issue Apr 24, 2023 · 37 comments
Labels
component: charts This is the name of the generic UI component, not the React module! linked in docs The issue is linked in the docs, so completely skew the upvotes new feature New feature or request plan: Premium Impact at least one Premium user waiting for 👍 Waiting for upvotes

Comments

@joserodolfofreitas
Copy link
Member

joserodolfofreitas commented Apr 24, 2023

Summary 💡

Gantt Chart implementation

Benchmarks

Public, read only: https://mui-org.notion.site/Gantt-Chart-component-e0014e4a55ae44fe901d575b1886e78e
Internal, write & read: https://www.notion.so/mui-org/Gantt-Chart-component-e0014e4a55ae44fe901d575b1886e78e

Requests

MUI X Gantt chart

https://mui.com/x/react-charts/gantt/

@joserodolfofreitas joserodolfofreitas added status: waiting for maintainer These issues haven't been looked at yet by a maintainer new feature New feature or request plan: Premium Impact at least one Premium user component: charts This is the name of the generic UI component, not the React module! waiting for 👍 Waiting for upvotes and removed status: waiting for maintainer These issues haven't been looked at yet by a maintainer labels Apr 24, 2023
@flaviendelangle

This comment was marked as resolved.

@joserodolfofreitas

This comment was marked as resolved.

@flaviendelangle

This comment was marked as resolved.

@Onfire7
Copy link

Onfire7 commented Jun 24, 2023

I really need a Gantt chart that either has some table like features, or ideally, integrates into a table. It would be really cool if we could have a special table column that has sub columns for days and displays the as a Gantt chart. This way, we retain the ability to interact with the data in a table (Displaying important columns, editing, filtering, etc.)

@flaviendelangle
Copy link
Member

Hi,

We don't have plan to create this component in the coming months. We are mainly focusing on the basic charts for now.

@BritishGit
Copy link

Appreciate the content being provided and look forward to when a Gannt chart becomes available.

@oliviertassinari oliviertassinari added the linked in docs The issue is linked in the docs, so completely skew the upvotes label Jul 31, 2023
@hdngr
Copy link

hdngr commented Sep 11, 2023

Looking forward to this!

@alexfauquette
Copy link
Member

Thanks for your interest. Could you provide some information about what you are expecting from this component?

  • What would be your use case
  • Which feature do you hardly need?
  • What issue you've seen on another library would be a deal break from using it?

@marcohaferkamp
Copy link

marcohaferkamp commented Sep 29, 2023

Really looking forward to it.
Here are some ideas / use cases / current requirements in our project:

  • Sticky first column & header
  • Show different time resolutions in the header (e.g. month, calendar week and day), something like this:
    image
  • Allow different time resolutions (e.g. view on daily or weekly basis)
    image
  • Performance for a large time range (e.g. 5 years)
  • Possibility to scroll to given date
  • Custom rendering of items
  • Tooltip on hover for items
  • Tooltip on hover for header-cells (e.g. show all data of a day)
  • Possibilty to store current scroll position

Our hardest need would not be the large interactivity (maybe tooltips would be nice), but rather the display part - basically just show data.
One of the biggest problems we currently have is the performance .

@alexfauquette
Copy link
Member

Thanks for all those insights @marcohaferkamp

One of the biggest problems we currently have is the performance

Does your current solution support virtualization?

@marcohaferkamp
Copy link

We have built a custom solution on our own, and no it's not implemented.

@joserodolfofreitas joserodolfofreitas removed this from the v7.0.0.beta-0 milestone Nov 30, 2023
@salehsed

This comment was marked as duplicate.

@itopaloglu83
Copy link

itopaloglu83 commented Dec 10, 2023

Resource timeline view would be great feature with the Gantt chart as well.

@alexfauquette
Copy link
Member

alexfauquette commented Dec 11, 2023

@itopaloglu83 Would you have examples of nice resource timelines?

@itopaloglu83
Copy link

Of course. Here's a quick list from simplest to more featured. And my rumblings below that.

https://fullcalendar.io/docs/timeline-view
image

https://www.airtable.com/platform/views
image

https://demo.mobiscroll.com/javascript/timeline/month-view
image

Event connections and dependencies.
https://bryntum.com/products/scheduler/
image

Next one is my favorite because it allows users to manage complex relationships between events.
https://bryntum.com/products/schedulerpro/ (includes a scheduling engine)
image

Rumblings:
Gantt charts are very useful but when there are many projects involved then the main issue becomes the resource availability. Especially considering the fact that each task may require numerous resources. There are many great resource management solutions out there like ERPs etc. but they are all lacking a good user interface.

@abdelrahmanes
Copy link

looking forward to this chart component and I hope it supports direction RTL and to be responsive

@alexfauquette
Copy link
Member

I hope it supports direction RTL

Hi @abdelrahmanes do you have some specific RTL modification of a gantt in mind? I assume the past/future direction is inverted. But other than that are there some tricky aspect we should be aware of?

@mui mui deleted a comment from MR1CC1 Jan 30, 2024
@abdelrahmanes
Copy link

@alexfauquette Great, that's what I meant, that the axis labels and data bars to be inverted

To be more clear, I was using apex timeline chart and I used the inverted boolean property for the date labels to be inverted but it wasn't working

(Jan, Feb, March) should be (يناير، فبراير، مارس)
But it was ( مارس، فبراير،يناير)

I hope I was clear enough

@alexfauquette
Copy link
Member

Yes, make totally sens 👍

@MustBuildAdmin
Copy link

Hi looking forward for this Gantt

I have some use cases for this Gantt

  1. calculating the critical path
  2. calculating the free and total float values for a task or subtask

https://docs.dhtmlx.com/gantt/samples/08_api/17_show_task_slack.html
https://docs.dhtmlx.com/gantt/desktop__critical_path.html#gettingfreeandtotalslack
https://snippet.dhtmlx.com/5/eb05a1f90?_ga=2.196660396.1883656908.1707371675-595900954.1707225801&_gl=1*zy3qdd*_ga*NTk1OTAwOTU0LjE3MDcyMjU4MDE.*_ga_N87XPB4GSG*MTcwNzM3MTY3NS4yLjEuMTcwNzM3MTczMi4zLjAuMA..

image
image

@mui mui deleted a comment from salehsed Feb 8, 2024
@sjacobi109
Copy link

Hi Guys, can't wait for this component!
Drag and drop functionality for each task on the timeline, for both along the x and y axes, would be awesome. This would greatly improve user experience and flexibility within the chart.

@HimanshuBari21

This comment was marked as duplicate.

@msavastio
Copy link

I'm looking forward to this one - I currently use the Bryntum Scheduler and I "dislike it strongly" is how I will put it. My use case
is basically render the Outlook calendar week view for employee time sheets where the horizontal axis is days of the week and the vertical axis is hours. Bryntum does let me do this in a kind of hacky way, so I will give them that. I have a feeling this kind of use case would be achieved in a more intuitive way using a component from you guys!

@alexfauquette
Copy link
Member

@msavastio That does not look like a Gantt chart usage. It's more a Scheduler edge case

@halsee
Copy link

halsee commented Jun 6, 2024

Really looking forward to this feature! My company builds software for construction, and gantt charts are used heavily throughout the industry.

@goatrenterguy
Copy link

Looking forward to this component. We currently use DHTMLX gantt and we are constantly fighting it. The primary reason we went with DHTMLX Gantt was the performance and the second is it lists as supporting a ton of features. As we continue to use it we realized all of the implementations are half thought out. Designing this chart to handle just the UI and input from the user would allow for a lot more flexibility when implementing it into a project.

@JShawnLooney
Copy link

JShawnLooney commented Jul 12, 2024

  • GanttPro has a nice interface for reference as well. Worth taking a look.

  • Traditional Gantt tasks have a start & end date, but imply continual work during that time period. It would also be nice to support a task type that is treated like a "window for completion" with "Earliest" & "Latest" dates in addition to a "Preferred" completion date. Or, have this feature for milestones and display it something like a tolerance measurement.

@gsbelarus

This comment was marked as duplicate.

1 similar comment
@benjaminfortunato

This comment was marked as duplicate.

@ScottgArmstrong
Copy link

When is Gantt chart planned for release? Is there a Beta or alpha version currently available?

@JeissonB29

This comment was marked as duplicate.

@benjaminfortunato

This comment was marked as duplicate.

@alexfauquette
Copy link
Member

@ScottgArmstrong Not yet. The current state of discussion is about starting the effort during 2025

@xylocodestack

This comment was marked as duplicate.

@matsbryntse

This comment was marked as off-topic.

@ScottgArmstrong

This comment was marked as off-topic.

@oliviertassinari
Copy link
Member

oliviertassinari commented Nov 4, 2024

My use case is basically render the Outlook calendar week view for employee time sheets where the horizontal axis is days of the week and the vertical axis is hours.

@msavastio For this use case, I would imagine that it's more about #1407?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: charts This is the name of the generic UI component, not the React module! linked in docs The issue is linked in the docs, so completely skew the upvotes new feature New feature or request plan: Premium Impact at least one Premium user waiting for 👍 Waiting for upvotes
Projects
Status: Future
Development

No branches or pull requests