Skip to content

Date picker and range selector with scrollable months instead of paged (the only right way to do it)

Notifications You must be signed in to change notification settings

fiskus/jquery-continuous-calendar

 
 

Repository files navigation

Homepage

Examples

Playground

Unit tests

Latest revision as ZIP file

Change log

wicket-continuous-calendar

Features

  • Date dragging
  • No pagination, continuous month flow
  • Range shifting by dragging
  • Range expand with Shift + Mouse click
  • Display current date
  • Allow disabling of dates
  • Month select
  • Week select
  • Popup support (with current day in calndar icon)
  • Support for different date formats
  • Support for specifying holidays or disabled days
  • Support for setting minimum range

Supported languages

  • English
  • Estonian
  • Finnish
  • Latvian
  • Russian
  • Swedish

Supported browsers

  • IE7 →
  • FireFox
  • Chrome
  • Opera
  • Safari

Getting started

Insert in head

<!-- basic default calendar styles -->
<link rel="stylesheet" href="http://reaktor.github.com/jquery-continuous-calendar/build/jquery.continuous-calendar-latest.css" type="text/css" />

<!-- custom user specified calendar styles -->
<style type="text/css">
    .calendarScrollContent {height: 250px;}
</style>

<!-- required JavaScript files -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript" src="http://reaktor.github.com/jquery-continuous-calendar/build/jquery.continuous-calendar-latest.js"></script>

Insert in body

<!-- range selection is attached to fields with class startDate and endDate -->
<div id="dateRange1">
  <input type="hidden" class="startDate" name="range_start">
  <input type="hidden" class="endDate" name="range_end">
</div>
<script type="text/javascript" language="JavaScript">
  $("#dateRange1").continuousCalendar();
</script>

AMD support

Directory layout:

- index.html
- scripts/
  |- jquery-1.8.2.js
  |- jquery.continuous-calendar/
  |  |- DateFormat.js
  |  |- DateLocale.js
  |  |- DateRange.js
  |  |- DateTime.js
  |  |- _jquery.continuousCalendar.scss
  |  |- jquery.continuousCalendar.js
  |  `- jquery.tinyscrollbar-1.66/
  |     |- _jquery.tinyscrollbar.scss
  |     |- bg-scrollbar-thumb-y.png
  |     |- bg-scrollbar-track-y.png
  |     |- bg-scrollbar-trackend-y.png
  |     `- jquery.tinyscrollbar.js
  |- main.js
  `- require-2.1.1.js

index.html

<!DOCTYPE html>
<html>
  <head>
    <script data-main="scripts/main" src="scripts/require-2.1.1.js"></script>
  </head>
  <body>
    <div id="dateRange1">
      <input type="hidden" class="startDate" name="range_start">
      <input type="hidden" class="endDate" name="range_end">
    </div>
  </body>
</html>

main.js

require.config({
  paths: {
    'jquery':               'jquery-1.8.2',
    'jquery.tinyscrollbar': 'jquery.continuous-calendar/jquery.tinyscrollbar-1.66/jquery.tinyscrollbar'
  },
  shim: {
    'jquery.tinyscrollbar': [ 'jquery' ]
  }
})

require(['jquery', 'jquery.continuous-calendar/jquery.continuousCalendar'], function($) {
  $(function() {
    $("#dateRange1").continuousCalendar();
  })
})

Instructions for contributors

  • make a fork
  • code by using existing code style
  • update and run tests (src/test/*.html)
  • make pull request

License

Licensed under the Apache License, Version 2.0 (the “License”); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.

About

Date picker and range selector with scrollable months instead of paged (the only right way to do it)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.1%
  • CSS 1.6%
  • Other 0.3%