SilverWare Calendar Module.

Installs: 39 398

Dependents: 1

Suggesters: 0

Security: 0

Stars: 16

Watchers: 3

Forks: 9

Open Issues: 22




Latest Stable Version Latest Unstable Version License

A date and time picker module for SilverStripe v4 which adds flatpickr to standard SilverStripe DateField, DatetimeField and TimeField instances.





Installation is via Composer:

$ composer require silverware/calendar

Note: forms on the website will automatically make use of the datepicker if the app is using SilverWare. If you are using a vanilla SilverStripe project, you'll need to load the module script and styles in your app bundle (jQuery is required):

  • silverware/calendar: client/dist/js/bundle.js
  • silverware/calendar: client/dist/styles/bundle.css


As with all SilverStripe modules, configuration is via YAML. Extensions to LeftAndMain and ContentController are applied via config.yml.

Highlight Color

The module supports a custom highlight color for both the CMS and forms on the website. To define the highlight color, use the following YAML configuration:

# Custom highlight color for CMS:

  calendar_highlight_color: '#abc'

# Custom highlight color for website forms:

  calendar_highlight_color: '#cba'

Datepicker Class

SilverStripe will not apply it's own JavaScript to form fields which have a certain datepicker class. To prevent conflicts, use the following configuration to define the class which SilverStripe will detect:

  calendar_datepicker_class: 'hasDatepicker'

Disabling via Configuration

If you need to disable the datepicker for all instances of a certain form field, use the following configuration:

# Disable for all date fields:

  calendar_disabled: true


Out of the box, the module will automatically add a flatpickr to all DateField, DatetimeField and TimeField instances. Each field will be configured automatically with default settings for each use case.

If you need to apply additional options supported by flatpickr, you can do so by using the setCalendarConfig() method:

use SilverStripe\Forms\DateField;

$field = DateField::create('Date', 'Date');

  'minDate' => date('Y-m-d'),
  'shorthandCurrentMonth' => true

In addition to accepting an array, the setCalendarConfig() method also supports the setting of individual config settings:

$field->setCalendarConfig('weekNumbers', true);

To see a full list of the supported options, please refer to the flatpickr documentation.

Disabling by Instance

If you need to disable the datepicker for a particular field instance, as opposed to all instances, you may call the setCalendarDisabled() method on the field:



Please use the GitHub issue tracker for bug reports and feature requests.


Your contributions are gladly welcomed to help make this project better. Please see contributing for more information.



Colin Tucker Praxis Interactive
Colin Tucker Praxis Interactive


BSD-3-Clause © Praxis Interactive