silverware / calendar
SilverWare Calendar Module.
Installs: 42 331
Dependents: 1
Suggesters: 0
Security: 0
Stars: 16
Watchers: 3
Forks: 9
Open Issues: 22
Language:CSS
Type:silverstripe-vendormodule
Requires
- php: >=5.6.0
- silverstripe/framework: ^4@dev
- 1.1.0
- dev-master / 1.0.x-dev
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/qs-6.3.3
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/css-what-2.1.3
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-dependabot/npm_and_yarn/chownr-1.1.4
- dev-dependabot/npm_and_yarn/node-sass-7.0.0
- dev-dependabot/npm_and_yarn/tar-2.2.2
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/y18n-3.2.2
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/ini-1.3.7
- dev-dependabot/npm_and_yarn/lodash.mergewith-4.6.2
- dev-dependabot/npm_and_yarn/mixin-deep-1.3.2
This package is not auto-updated.
Last update: 2024-12-20 09:58:34 UTC
README
A date and time picker module for SilverStripe v4 which adds flatpickr to
standard SilverStripe DateField
, DatetimeField
and TimeField
instances.
Contents
Requirements
Installation
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
Configuration
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: SilverStripe\Admin\LeftAndMain: calendar_highlight_color: '#abc' # Custom highlight color for website forms: SilverStripe\CMS\Controllers\ContentController: 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:
SilverStripe\Forms\FormField: 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: SilverStripe\Forms\DateField: calendar_disabled: true
Usage
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'); $field->setCalendarConfig([ '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:
$field->setCalendarDisabled(true);
Issues
Please use the GitHub issue tracker for bug reports and feature requests.
Contribution
Your contributions are gladly welcomed to help make this project better. Please see contributing for more information.
Attribution
- Makes use of flatpickr by Gregory Petrosyan and others.
Maintainers
License
BSD-3-Clause © Praxis Interactive