NOTE: this module provides a picker for DateField
only. If you require a picker which is capable of time input
(and hence supports DatetimeField
and TimeField
), please consider using the
SilverWare Calendar module instead.
A polyfill module for the SilverStripe v4 DateField
class to show a datepicker in
browsers which do not yet support the HTML5 date input.
- Requirements
- Installation
- Configuration
- Customisation
- Issues
- Contribution
- Attribution
- Maintainers
- License
Installation is via Composer:
$ composer require silverware/datepicker
As with all SilverStripe modules, configuration is via YAML. Extensions to LeftAndMain
are applied
via config.yml
. You may also include the bundle files in your theme to make use of the polyfill in forms.
You can configure a default format and polyfill setting for DateField
in the YAML:
SilverStripe\Forms\DateField:
default_datepicker_format: d MMM yyyy
default_datepicker_polyfill: all
The configuration option default_datepicker_format
is a standard CLDR date format which
will be applied by default to all DateField
instances using the datepicker.
The configuration option default_datepicker_polyfill
determines the default polyfill mode for DateField
instances,
and will force the polyfill to be used on the specified device. Possible values are: desktop
, mobile
, all
,
and none
.
You can override these defaults on a per-instance basis of DateField
by using the following methods:
$field = DateField::create('MyDate', 'Date');
$field->setDatepickerFormat('d/MM/yyyy');
$field->setDatepickerPolyfill('mobile');
To customise the appearance of the date picker, first install the frontend dependencies with Yarn (or NPM):
$ cd silverware-datepicker
$ yarn install
Make your required changes to _variables.scss
in the client/src/styles
folder. Once you've
customised the variables, you'll need to compile the source files.
This module uses webpack for compiling and bundling frontend assets. A configuration file is provided with the repo to allow you to get up and running straight away. To have webpack watch your files and compile automatically, run:
$ yarn watch
When your customisations are ready for production, you may run the following to optimise the bundle files:
$ yarn build
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.
- Makes use of better-dateinput-polyfill by Maksim Chemerisuk.
Colin Tucker | Praxis Interactive |
BSD-3-Clause © Praxis Interactive