Read-Only Mode
Read-only mode turns the packaged Gantt editing surface into an inspection surface. Users can still view the task table and timeline, navigate, search, filter, sort, zoom, and use non-mutating UI, but packaged project mutations are rejected.
Enable it on the Gantt config:
grid.gantt = { id: 'project-1', name: 'Project Roadmap', version: '1', currency: 'USD', timeZone: 'UTC', primaryCalendarId: 'standard', updatedAt: new Date().toISOString(), readOnly: true,};What It Blocks
Section titled “What It Blocks”readOnly: true blocks mutations routed through the packaged Gantt services:
- Task changes: move, resize, split, progress edits, inline task-field edits, task creation, indent, outdent, and delete.
- Dependency changes: create, update, delete, and predecessor/successor field replacement.
- Assignment changes: assignee/resource field updates and assignment replacement.
Blocked mutations return a failure result instead of updating the stores. Task changes return readonly-task; dependency and assignment changes return readonly-project.
What Still Works
Section titled “What Still Works”Read-only mode does not turn the grid into a static screenshot. Non-mutating workflows remain available:
- Timeline rendering, task bars, dependencies, baselines, critical-path visuals, and diagnostics.
- Tree expand/collapse, search, filtering, sorting, scrolling, and zoom.
- External application-controlled state replacement, such as loading a different project snapshot or changing the Gantt config.
The built-in Gantt context menu also hides mutating row actions when the project is read-only.
Difference From Grid Readonly
Section titled “Difference From Grid Readonly”gantt.readOnly is a Gantt project mutation guard. It protects the packaged task, dependency, and assignment mutation paths.
The RevoGrid readonly property is a grid-level editing setting. Use it when you also want to prevent generic cell editing behavior outside Gantt’s mutation services.
grid.readonly = true;grid.gantt = { ...projectConfig, readOnly: true,};