Skip to content

Resource Planning View

The Resource Planning View switches the Gantt chart from a task-centric WBS to a resource-centric view. This allows managers to visualize daily or weekly load, capacity thresholds, and over-allocation hotspots.

Resource names include a compact avatar for faster scanning. Gantt derives a colored initials avatar from the resource name by default; supply avatarUrl on a resource to render its profile image instead.

Source code
import { GANTT_RESOURCE_PLANNING_DEMO } from './gantt-advanced-data';
import { loadAdvancedGanttDemo } from './GanttAdvancedVanillaDemo';
export function load(parentSelector: string) {
return loadAdvancedGanttDemo(parentSelector, GANTT_RESOURCE_PLANNING_DEMO);
}

Use gantt.resourcePlanning to toggle the view and configure its behavior:

grid.gantt = {
resourcePlanning: {
enabled: true,
visibleResourceIds: ['alex', 'nina', 'ravi'],
loadGranularity: 'day',
capacityDisplay: 'line',
overAllocationDisplay: 'highlight',
},
};
grid.ganttResources = [
{
id: 'alex',
name: 'Alex Morgan',
avatarUrl: '/images/team/alex-morgan.png',
role: 'Lead Engineer',
calendarId: 'standard',
allocationCapacity: 100,
hourlyCost: 120,
},
];
OptionDescription
enabledToggle between task rows and resource load rows.
visibleResourceIdsArray of resource IDs to display in the planning view.
loadGranularity'day' or 'week'. The time bucket for load calculation.
capacityDisplay'line' or 'none'. Renders a capacity threshold on load bars.
overAllocationDisplay'highlight' or 'none'. Marks buckets exceeding capacity.

When you are in the normal task view, you can use resourceFilterIds to filter tasks assigned to specific resources while keeping ancestor summary tasks visible. This provides context-aware filtering within the project structure.

grid.gantt = {
resourceFilterIds: ['alex'],
};