Our state of the art Gantt chart


Post by hazemkrimi »

I am looking for a way to improve dependency pathfinding between events. Found that I can specify a pathFinderConfig but don't know the object format.

Doc: https://www.bryntum.com/docs/gantt/api/Gantt/feature/Dependencies#config-pathFinderConfig


Post by mats »

Can you please share in what way you want to improve it? Prevent overlapping events or something else?


Post by hazemkrimi »

I can't find the object structure to use for the pathFinderConfig. I tried expanding the documentation and using the search function.


Post by hazemkrimi »

I need to configure the pathFinderConfig to enable dependencies to be drawn properly unlike in the "unclean-deps" image but in "clean-deps" image (Both provided in the attachements).

Attachments
unclean-deps.png
unclean-deps.png (9.08 KiB) Viewed 332 times
clean-deps.png
clean-deps.png (4.01 KiB) Viewed 332 times

Post by Maxim Gorkovsky »

Hello.
I'm afraid you cannot achieve this result customizing the path finder. Path finder produces pairs of points which make this angular line from one box to another, those points are used for polyline element points attribute. This class is private, but you can still see list of configs here: https://bryntum.com/docs/gantt/api/Scheduler/util/RectangularPathFinder if you toggle show -> show private members checkbox in the header.
There is no public way to replace the path finder either. So if you really need this feature implemented, you have to work with undocumented APIs and our source code. Start with Dependencies#drawLine method, likely you need to override it to draw different type of line. Next you need to extend the RectangularPathFinder and customize findPath method, its output is used as a 3rd argument for the drawLine call. These two should give you enough control to manage line appearance.
I should also note there has to be a single direct child of the <svg> element that makes this line. It is related to the way we cache lines and clean them.

Also I should note there is an option to hire us to implement this feature for you. If you're interested, please contact sales at bryntum.com.


Post Reply