Description field
Description field setting
Pop up dialog for description

This is a View plugin module that provides a calendar view format powered by FullCalendar JavaScript library

Features:

  • Day, week, month view
  • Creating a new event by double clicking
  • Event colors based on taxonomy or content type
    • In-Place editing
    • Event drag and drop
    • Resize event (Only available for all day event)
    • Create a new event via Drupal Off-Canvas dialog
  • Recurring (Repeated) event
  • Support Multilingual
  • Popup Tooltip for event description
  • Draggable and resizable modal for showing details of a calendar entry

5.x (8.x-4.0 and above) version

  • Upgrade Fullcalendar.js to V4.
  • Automatically load third party library from CDN if local host library is missing.
  • Introduce a new plugin type of 'Fullcalendar View Processor' which allow other modules to alter all properties of the Fullcalendar without hacking the JS from this module.
  • Support rrule.js for recurring event
  • Support Multiple Calendars in One View
  • Support for entities with multiple dates
  • Support Ajax filter.

Required libraries:

If you don't need to host any required library locally, you can skip this section. Fullcalendar View module will load all of them for you from CDN.
If you do want to host third-party libraries locally, You need to download the files for each library into following folders.

Fullcalendar JS

/libraries/fullcalendar/core/main.min.js
/libraries/fullcalendar/core/locales-all.min.js
/libraries/fullcalendar/moment/main.min.js
/libraries/fullcalendar/daygrid/main.min.js
/libraries/fullcalendar/interaction/main.min.js
/libraries/fullcalendar/timegrid/main.min.js
/libraries/fullcalendar/list/main.min.js
/libraries/fullcalendar/rrule/main.min.js
/libraries/fullcalendar/core/main.min.css
/libraries/fullcalendar/daygrid/main.min.css
/libraries/fullcalendar/timegrid/main.min.css
/libraries/fullcalendar/list/main.min.css

Moment.js

/libraries/moment/2.26.0/moment.min.js

RRule JS

/libraries/rrule/2.6.4/rrule.min.js

JsFrame.js

/libraries/JSFrame/1.5.16/jsframe.min.js

Upgrade Path:

The 5.x version is refactored from 8.x-2.x version with significant changes. At this point, there is no drush command available for automatic data update. The manual process is:

  1. If you are using the sub-module Calendar Recurring Event for recurring events, you need to create a new plain text field to instead the the weekly or monthly event field introduced by the Calendar Recurring Event module. Please note that the new text field only accepts a valid RRULE string.For example,
    DTSTART:20200302T100000Z EXDATE:20200309T100000Z EXDATE:20200311T100000Z RRULE:FREQ=WEEKLY;UNTIL=20200331T120000Z;INTERVAL=1;WKST=MO;BYDAY=MO,WE
    The rule above means A recurring event start from 2020-03-02 to 2020-03-31 and occurs every Monday and Wednesday except 2020-03-09 and 2020-03-11. The RRULE supports excluded time as well. Therefore you need to remove the Excluding dates field if it exists.
  2. Uninstall the sub-module Calendar Recurring Event if it is enabled.
  3. Reconfig the View with following changes:
    • Right side buttons. In 5.x version, the right side buttons setting is a string instead of dropdown box.
    • Left side buttons. In 5.x version, the left side buttons setting is a string instead of dropdown box.
    • For recurring events, you need to specify the RRule field and Event duration field if needed.

How to use:

  1. Install this module as usual.
  2. Create a view
  3. Select the Full Calendar Display as the view format
  4. Choose the fields for Title, Start date, End date (optional). The description field (showing in the pop-up dialog) is the last field of the fields list.
  5. Format settings (Default Date, field of start date, field of end date).
  6. Other view settings (optional), such as filter criteria, pager.

Recurring event:

You need a long plain text field to present the RRULE string for recurring logic of an event. For example,

DTSTART:20200302T100000Z
EXDATE:20200309T100000Z
EXDATE:20200311T100000Z
RRULE:FREQ=WEEKLY;UNTIL=20200331T120000Z;INTERVAL=1;WKST=MO;BYDAY=MO,WE

The rule above means a recurring event start from 2020-03-02 to 2020-03-31 and occurs every Monday and Wednesday except 2020-03-09 and 2020-03-11. The RRULE supports excluded time as well.
More information about the RRULE, please see the here

There is an online tool to generate an valid RRULE string.

Then go the view setting page to specify the field as the RRUle field which is under Format:Full Calendar Display->Settings->Recurring Event Settings->RRule Field for recurring events.

The duration field is optional, which specifying the end time of each recurring event instance. The field value should be a string in the format hh:mm:ss.sss, hh:mm:sss or hh:mm. For example, "05:00" signifies 5 hours.

Credit:

Thanks a lot to everyone who contributes to this module.

Supporting organizations: 

Project information

  • caution Minimally maintained
    Maintainers monitor issues, but fast responses are not guaranteed.
  • caution Maintenance fixes only
    Considered feature-complete by its maintainers.
  • chart icon17,771 sites report using this module
  • Created by Mingsong on , updated
  • shieldStable releases for this project are covered by the security advisory policy.
    Look for the shield icon below.

Releases