This project demonstrates how to integrate the DHTMLX React Gantt component with Jotai for state management in a React application. The integration enables centralized control of Gantt chart data, tasks, and links, providing predictable updates and smooth UI interactions through an atomic state management approach. The setup uses React 19+ and Vite, with full TypeScript support for enhanced code quality and maintainability.
-
Powerful Gantt chart UI for project planning and task management.
-
Task and link creation, update, and deletion managed through Jotai atoms.
-
React component driven approach with props controlling Gantt configuration.
-
Seamless Jotai integration for predictable and powerful state management with atomic state updates.
-
Support for zoom levels (day, month, year), undo/redo operations, and drag-and-drop functionality.
-
Interactive toolbar with Material-UI components for enhanced user experience.
-
Strong TypeScript support for type-safe usage.
src/
├── components/
│ ├── GanttComponent.tsx # Main Gantt chart component with Jotai integration
│ └── Toolbar.tsx # Material-UI toolbar with zoom and undo/redo controls
├── seed/
│ └── Seed.ts # Initial data (tasks, links, zoom levels)
├── store.ts # Jotai atoms for state management
├── App.tsx
├── main.tsx
└── index.css
Install dependencies:
npm install
or
yarn
npm run dev
or
yarn dev
Source code in this repo is released under the MIT License.
DHTMLX React Gantt is a commercial library - use under a valid DHTMLX license or evaluation agreement.