Resource hierarchy
Represent departments, teams, rooms, or equipment as an expandable resource tree. Collapsing a parent simplifies the visible schedule while retaining the underlying resource and event data.
Loading interactive demo…
What you configure
- parentId
- Link a child resource to an existing parent using a cycle-free hierarchy.
- resourcesInitiallyExpanded
- Set the initial expansion state through resourceTimeline options.
- resourceSummaryContent
- Customize the text summary shown for a collapsed subtree.
Essential integration
This assumes the shared Quick start already provides premiumLicense and, for UI views, premiumCalendarOptions. Only the feature-specific setup is shown.
import { WtsCalendar } from '@wts-calendar/core';
import { resourceSchedulingModule } from '@wts-calendar/core/resource-scheduling';
const calendar = new WtsCalendar({
...premiumCalendarOptions,
plugins: [resourceSchedulingModule],
view: 'resource-timeline',
resources: [
{ id: 'product', title: 'Product team' },
{ id: 'design', parentId: 'product', title: 'Design studio' },
{ id: 'engineering', parentId: 'product', title: 'Engineering' },
],
events: [
{
id: 'review',
title: 'Design review',
resourceId: 'design',
start: '2026-09-07T09:00:00Z',
end: '2026-09-07T10:30:00Z',
},
],
});Behavior and lifecycle
- Expansion state survives date navigation and option rebuilds for the calendar instance.
- Collapsed summaries can report event count, booked units, capacity, utilization, and conflicts.
Limits and responsibilities
- Collapsing resources hides descendant rows or columns; it does not delete or reassign their events.
- Summary content is text-only; persistent expansion preferences remain application-owned.
Premium
Enable this capability
- Optional module
- @wts-calendar/core/resource-scheduling
- Local capability ID
- resource-scheduling · enabled by package-wide Premium
Use the request form to describe your project and deployment origins. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.
The live example uses a browser-visible deployment key restricted to this package and approved origins. It does not collect license keys or visitor credentials.