Jordium GanttChart is a Vue 3–based Gantt chart component designed for project management, APS scheduling, and complex admin systems.
With v1.7.1, the focus shifts from “feature completeness” to something more important in real systems:
How do you design a complex UI component that is fully controllable by the host application?
What Changed in v1.7.1
- Core Gantt behaviors are now externally controllable
- Clear separation between state (Props) and actions (Expose API)
- Context menus refactored into declarative Vue components
- Internal structure simplified for long-term maintainability
- Dependency upgrades and security fixes
1. State-Driven Control via Props
The GanttChart component now supports the following props:
locale
theme
timeScale
fullscreen
expandAll
This allows the host application to manage:
- Global language switching
- Light / dark theme control
- Time scale changes (hour / day / month / year)
- Fullscreen toggling
- Expand / collapse of task hierarchies
👉 The Gantt chart no longer owns these states internally—it reacts to the system state instead.
2. Action-Driven Control via defineExpose
For interaction-heavy scenarios, v1.7.1 exposes an imperative API using defineExpose.
Internationalization
setLocale()
currentLocale
Theme & Time Scale
setTheme()
currentTheme
setTimeScale()
zoomIn()
zoomOut()
currentScale
Fullscreen Control
toggleFullscreen()
enterFullscreen()
exitFullscreen()
isFullscreen
Expand / Collapse Tasks
toggleExpandAll()
expandAll()
collapseAll()
isExpandAll
Scroll & Focus Helpers
scrollToToday()
scrollToTask(taskId)
scrollToDate(date)
Design principle:
Props control state.
Exposed methods control behavior.
This keeps APIs predictable and composable.
3. Declarative Context Menus
Task list and task bar context menus are now implemented as Vue components instead of configuration objects:
- TaskListContextMenu
- TaskBarContextMenu
Features include:
- Full slot support for menu customization
-
Simple enable / disable flags:
- enable-task-list-context-menu
- enable-task-bar-context-menu
This improves:
- Readability
- Reusability
- Integration with business logic
4. Internal Refactoring for Maintainability
The TaskList module was split into smaller subcomponents:
- Reduced file size
- Clearer responsibilities
- Better foundation for future features like virtual scrolling
These changes don’t alter behavior, but they matter for long-term evolution.
5. Dependency & Security Updates
Upgraded and patched:
- happy-dom
- jspdf
- vitest
Why This Release Matters
In real-world enterprise systems:
- UI state is often managed globally
- Complex components must be orchestrated, not isolated
- Declarative + imperative APIs need a clear boundary
Jordium GanttChart v1.7.1 formalizes that boundary.
Project Links
🔗 GitHub:
https://github.com/nelson820125/jordium-gantt-vue3
🔗 Demo:
https://nelson820125.github.io/jordium-gantt-vue3/
Video
👉 YouTube
Final Thoughts
This release marks a transition from a “feature-rich widget” to a system-ready component.
If you’re building:
- Project management tools
- Manufacturing or APS scheduling systems
- Complex Vue 3 dashboards
I’d love to hear how you’re designing controllable UI components in your own projects.
Top comments (0)