Resource Parsing

All of the techniques for specifying resources accept an array of raw objects. These raw objects are “parsed” into proper Resource objects, which are accessible via methods like getResources and getResourceById.

The following properties are accepted in each raw resource object:

id Uniquely identifies this resource. Event Objects with a corresponding resourceId field will be linked to this event. Will be coerced into a string.
title Text that will be displayed on the resource when it is rendered.
eventColor Events associated with this resources will have their backgrounds and borders colored. Any CSS string color format can be specified, like "#f00" or "rgb(255,0,0)". This value will take precedence over the global eventColor option and the Event Source Object color option, but it will not take precedence over the Event Object color option.
eventBackgroundColor The eventBackgroundColor setting for associated events.
eventBorderColor The eventBorderColor setting for associated events.
eventTextColor The eventTextColor setting for associated events.
eventClassNames className(s) that will apply to associated events.
eventOverlap The eventOverlap setting for associated events. Does not accept a function.
eventConstraint The eventConstraint setting for associated events.
eventAllow The eventAllow setting for associated events.
businessHours A businessHours declaration that will only apply to this resource. See example.
children Child resources. See below.
parentId Defines the parent resource. See below.
any other prop!

Every other non-standard prop will be transferred over to the extendedProps hash in the Resource object.

For the color-related properties, even when an event is rendered on a non-resource view (views other than Timeline), these properties will still take effect.

Resources can be nested within each other. This will be displayed as an expander arrow in the UI which expands and contracts the child resources. Specifying nested resources can be done via one of two possible techniques…

Nested resources with a nested array

Child resources can be specified directly within the parent resource via the children property. This technique is often more pleasant when hardcoding an array because it is visually easier to understand the code.

resources: [
  {
    id: 'a',
    title: 'Room A',
    children: [
      {
        id: 'a1',
        title: 'Room A1'
      },
      {
        id: 'a2',
        title: 'Room A2'
      }
    ]
  }
]

Nested resources with a flat array

An alternative method for specifying child resources is via linking them together with the parentId property. This is often more pleasant when dealing with resource data that originates from a database.

resources: [
  {
    id: 'a',
    title: 'Room A'
  },
  {
    id: 'a1',
    parentId: 'a',
    title: 'Room A1'
  },
  {
    id: 'a2',
    parentId: 'a',
    title: 'Room A2'
  }
]