Resource grouping, ordering & filtering
Create a useful presentation of a large resource directory without rewriting its source collection. Combine filters, stable ordering, nested groups, and parent-child hierarchy to match the way teams plan work.
Loading interactive demo…
What you configure
- resourceFilter / filterResourcesWithEvents
- Filter by application criteria or the presence of assigned events.
- resourceOrder
- Order using fields, descending field entries, comparator functions, or mixed arrays.
- resourceGroupFields
- Define nested timeline groups with values, labels, empty labels, and ordering.
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',
resourceGroupFields: [{ field: 'region', label: 'Region' }],
resourceOrder: '-capacity,title',
resourceFilter: ({ resource }) => !resource.extendedProps?.['archived'],
resources: [
{ id: 'design', title: 'Design', capacity: 2, extendedProps: { region: 'East' } },
{
id: 'engineering',
title: 'Engineering',
capacity: 4,
extendedProps: { region: 'West' },
},
{
id: 'retired',
title: 'Archived',
extendedProps: { region: 'East', archived: true },
},
],
events: [
{
id: 'review',
title: 'Design review',
resourceId: 'design',
start: '2026-09-07T09:00:00Z',
end: '2026-09-07T10:30:00Z',
},
],
});Behavior and lifecycle
- Matching descendants retain their ancestors so filtering does not create an invalid resource tree.
- Column groups, global group tiers, and parentId hierarchy can compose without mutating the source array.
Limits and responsibilities
- Nested resource grouping is a Resource Timeline presentation feature.
- A visibility filter is not authorization; sensitive records should be excluded by your data-access layer.
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.