material-datetime-picker

WebJar for material-datetime-picker

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

material-datetime-picker
Last Version

Last Version

2.4.0
Release Date

Release Date

Type

Type

jar
Description

Description

material-datetime-picker
WebJar for material-datetime-picker
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/ripjar/material-datetime-picker

Download material-datetime-picker

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/material-datetime-picker/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>material-datetime-picker</artifactId>
    <version>2.4.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/material-datetime-picker/
implementation 'org.webjars.npm:material-datetime-picker:2.4.0'
// https://jarcasting.com/artifacts/org.webjars.npm/material-datetime-picker/
implementation ("org.webjars.npm:material-datetime-picker:2.4.0")
'org.webjars.npm:material-datetime-picker:jar:2.4.0'
<dependency org="org.webjars.npm" name="material-datetime-picker" rev="2.4.0">
  <artifact name="material-datetime-picker" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='material-datetime-picker', version='2.4.0')
)
libraryDependencies += "org.webjars.npm" % "material-datetime-picker" % "2.4.0"
[org.webjars.npm/material-datetime-picker "2.4.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.webjars.npm : moment jar [2.10.6]
org.webjars.npm » github-com-joews-rome jar [19f5d3031a922c29c52b9038b2832a827e5e99d6]

Project Modules

There are no modules declared in this project.

Material Datetime Picker

A Material Design date/time picker modal, built for the web. Works well with Materialize, or standalone.

https://ripjar.github.io/material-datetime-picker/

Status Package

Time Time

Installation

npm install material-datetime-picker

Dependencies

The picker depends on Google's Material Design icons (packaged with Materialize), or included in the head of the document;

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

For best results also include Google's Material Font Roboto;

<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>

If you want to use this project as a standalone <script>, you can use dist/material-datetime-picker.js. You'll need to include moment.js and rome.js as well:

<script src="https://cdnjs.cloudflare.com/ajax/libs/rome/2.1.22/rome.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
<script src="material-datetime-picker.js" charset="utf-8"></script>

Usage

Manual (recommended)

The picker can be instantiated and interacted with manally;

import MaterialDateTimePicker from 'material-datetime-picker';

const picker = new MaterialDateTimePicker()
    .on('submit', (val) => console.log(`data: ${val}`))
    .on('open', () => console.log('opened'))
    .on('close', () => console.log('closed'));

document.querySelector('.c-datepicker-btn')
    .on('click', () => picker.open());        

As form input

The picker is decoupled from any single form element for simplicity. However, it should be simple to link the picker to a form input or button. For instance, given the input element <input class="c-datepicker-input" />, the following could be written;

import MaterialDateTimePicker from 'material-datetime-picker';

const input = document.querySelector('.c-datepicker-input');
const picker = new MaterialDateTimePicker()
    .on('submit', (val) => {
      input.value = val.format("DD/MM/YYYY");
    });

input.addEventListener('focus', () => picker.open());      

Options

All options are optional, including the el.

{
    // DOM Element to attach the datepicker. This element will receive 
    // events when the data changes. If an input element, will be 
    // populated with formatted date and time chosen.
    // `el` must be a DOM Element object. Selectpr strings or wrappers
    // like a jQuery selection are not supported.
    el: document.querySelector('.c-datepicker-btn'),
    // if `el` is set, the format used to display the datetime in the input, 
    format: 'DD/MM/YY', 
    //  the default value of the picker
    default: moment(),
    // the container to append the picker. If you change this, you need to make
    // sure your element has a z-index > 0 so that it displays in front of the scrim.
    container: document.body,    
    // cosmetic classes that can be overriden
    // mostly used for styling the calendar
    styles: {
        scrim: 'c-scrim',
        back: 'c-datepicker__back',
        container: 'c-datepicker__calendar',
        date: 'c-datepicker__date',
        dayBody: 'c-datepicker__days-body',
        dayBodyElem: 'c-datepicker__day-body',
        dayConcealed: 'c-datepicker__day--concealed',
        dayDisabled: 'c-datepicker__day--disabled',
        dayHead: 'c-datepicker__days-head',
        dayHeadElem: 'c-datepicker__day-head',
        dayRow: 'c-datepicker__days-row',
        dayTable: 'c-datepicker__days',
        month: 'c-datepicker__month',
        next: 'c-datepicker__next',
        positioned: 'c-datepicker--fixed',
        selectedDay: 'c-datepicker__day--selected',
        selectedTime: 'c-datepicker__time--selected',
        time: 'c-datepicker__time',
        timeList: 'c-datepicker__time-list',
        timeOption: 'c-datepicker__time-option',
        clockNum: 'c-datepicker__clock__num'
    },
    // date range to allow (see rome validator factories)
    dateValidator: null       
}

License

MIT

org.webjars.npm

Ripjar

Versions

Version
2.4.0
2.3.0
1.0.1