SilverWare Datepicker Module
, (*1)
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., (*2)
A polyfill module for the SilverStripe v4 DateField
class to show a datepicker in
browsers which do not yet support the HTML5 date input., (*3)
, (*4)
Contents
Requirements
Installation
Installation is via Composer:, (*5)
$ composer require silverware/datepicker
Configuration
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., (*6)
You can configure a default format and polyfill setting for DateField
in the YAML:, (*7)
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., (*8)
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
., (*9)
You can override these defaults on a per-instance basis of DateField
by using the following methods:, (*10)
$field = DateField::create('MyDate', 'Date');
$field->setDatepickerFormat('d/MM/yyyy');
$field->setDatepickerPolyfill('mobile');
Customisation
To customise the appearance of the date picker, first install the frontend dependencies with Yarn (or NPM):, (*11)
$ 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., (*12)
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:, (*13)
$ yarn watch
When your customisations are ready for production, you may run the following to optimise the bundle files:, (*14)
$ yarn build
Issues
Please use the GitHub issue tracker for bug reports and feature requests., (*15)
Contribution
Your contributions are gladly welcomed to help make this project better.
Please see contributing for more information., (*16)
Attribution
Maintainers
License
BSD-3-Clause © Praxis Interactive, (*17)