Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
datepair.js
Advanced tools
Readme
Datepair.js is a lightweight, modular javascript plugin for intelligently selecting date and time ranges, inspired by Google Calendar. It will keep the start and end date/times in sync and can set default values based on user action. There are no external dependencies, however it can easily be used with jQuery or Zepto. The plugin does not provide any UI widgets; it's preconfigured to work with jquery-timepicker and Bootstrap Datepicker, but you can use it with any datepicker or timepicker (or none at all).
Looking for jquery-datepair? Scroll down.
Include dist/datepair.js
or dist/jquery.datepair.min.js
in your app.
var container = document.getElementById('container')
var datepair = new Datepair(container, options);
Where #container
contains time/date <input />
elements with the appropriate class names. options
is an optional javascript object with parameters explained below.
Note that Datepair is triggered by change
events and won't work unless the container has some <input />
elements.
anchor
The input that will control the other input. One of "start"
, "end"
, or null
. See demo page for more information.
default: "start"
dateClass
Class name of the date inputs, if any.
default: "date"
defaultDateDelta
Fill in the second date value with the specified range when the users selects the first date. Value is in days. Set this to null
to disable automatically setting the second date.
default: 0
defaultTimeDelta
Fill in the second time value with the specified range when the users selects the first time. Value is in milliseconds; set this to 7200000
for a 2 hour range, for example. Set this to null
to disable automatically setting the second time.
default: 0
endClass
Class name of the range end input(s).
default: "end"
parseDate
A function that takes a jQuery element for a date input and returns a local time Date
object representing the date input value.
default: function for Bootstrap Datepicker
parseTime
A function that takes a jQuery element for a time input and returns a local time Date
object representing the time input value. See example page for more info.
default: function for jquery-timepicker
setMinTime
A function that takes a jQuery element for a time input and a local time Date
object representing the time, and sets the timepicker minTime value.
default: function for jquery-timepicker
startClass
Class name of the range start input(s).
default: "start"
timeClass
Class name of the time inputs, if any.
default: "time"
updateDate
A function that takes a jQuery element for a date input and a local time Date
object representing the date, and sets the input value.
default: function for Bootstrap Datepicker
updateTime
A function that takes a jQuery element for a time input and a local time Date
object representing the time, and sets the input value.
default: function for jquery-timepicker
getTimeDiff
Get the date/time range size, in milliseconds.
var milliseconds = datepair.getTimeDiff();
refresh
Call this method if you programmatically update the date/time fields after first initialization of datepair.
$('#someInput').val(someValue)
datepair.refresh();
remove
Unbind the datepair functionality from a set of inputs.
datepair.remove();
rangeError
Fired after the user interacts with the datepair inputs but selects an invalid range, where the end time/date is before the start.
rangeIncomplete
Fired after the user interacts with the datepair inputs but one or more empty inputs remain. Unpaired inputs (such as a start date with no corresponding end date) will not be taken into account.
rangeSelected
Fired after the user interacts with the datepair inputs and all paired inputs have valid values.
Datepair.js includes an optional jQuery interface that can simplify usage when working with jQuery or Zepto. To activate, include both datepair.js
and jquery.datepair.js
, or just jquery.datepair.min.js
. (The minified version includes both scripts.)
$('#container').datepair(options);
var milliseconds = $('#container').datepair('getTimeDiff');
$('#container').datepair('remove');
$('#container').datepair('refresh');
By default, Datepair.js is configured to work with Bootstrap Datepicker. This is different from jQuery UI Datepicker. To use jQuery UI Datepicker, override the parseDate
and updateDate
methods:
$('#some-container').datepair({
parseDate: function (el) {
var val = $(el).datepicker('getDate');
if (!val) {
return null;
}
var utc = new Date(val);
return utc && new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000));
},
updateDate: function (el, v) {
$(el).datepicker('setDate', new Date(v.getTime() - (v.getTimezoneOffset() * 60000)));
}
});
https://www.npmjs.com/package/datepair.js
npm install --save datepair.js
Submit a GitHub Issues request.
npm install
grunt
grunt watch
to continuously build while developingDatepair.js follows semantic versioning.
This software is made available under the open source MIT License. © 2014 Jon Thornton.
FAQs
A javascript plugin for intelligently selecting date and time ranges inspired by Google Calendar.
The npm package datepair.js receives a total of 9,957 weekly downloads. As such, datepair.js popularity was classified as popular.
We found that datepair.js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.