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:

5.x version

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.

8.x-2.x version

In order to enable the recurring event feature, the sub-module Calendar Recurring Event must be installed.
After installing the sub-module, you need to add at least one of two fields (monthly event field and weekly event field) shipped with the sub-module into the content type (for example event) displayed in the view.
Add recurring event fields into a content type
The last thing you need to do is to specify the event repeat day, for instance every Monday to Friday or first day every month, by creating an event node with the weekly or monthly repeat day.
Node edit

Excluding day for recurring event:




The screenshot above is just an example. You can use any date field as the excluding day field.



Known Issue:

  • There is a compatible issue between Drupal Off-Canvas dialog and some themes. Before using the In-Place creating event feature,
    you need to test it to ensure it is compatible with your theme.

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,419 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