PHPackages                             ameotoko/datepicker-range - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ameotoko/datepicker-range

ActiveContao-component[Utility &amp; Helpers](/categories/utility)

ameotoko/datepicker-range
=========================

Date picker range integration for Contao Open Source CMS

1.0.1(6y ago)0151[6 PRs](https://github.com/ameotoko/datepicker-range/pulls)MITJavaScript

Since Mar 17Pushed 3y agoCompare

[ Source](https://github.com/ameotoko/datepicker-range)[ Packagist](https://packagist.org/packages/ameotoko/datepicker-range)[ RSS](/packages/ameotoko-datepicker-range/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (9)Used By (0)

Date picker range
=================

[](#date-picker-range)

This is a Datepicker.Range addition to customized MooTools [date picker](https://github.com/arian/mootools-datepicker/) package integrated in [Contao Open Source CMS](https://contao.org).

### Usage example:

[](#usage-example)

*dca/tl\_calendar\_events.php:*

```
// Remove the default datepicker
$GLOBALS['TL_DCA']['tl_iso_product']['fields']['startDate']['eval']['datepicker'] = false;

// Add customized version
$GLOBALS['TL_DCA']['tl_iso_product']['fields']['startDate']['wizard'] = array(array('tl_calendar_events', 'datePickerRangeWizard'));

use Contao\Config;
use Contao\Date;
use Contao\Image;
use Contao\StringUtil;

class tl_calendar_events extends Backend {

    public function datePickerRangeWizard(DataContainer $dc) {
        $arrData = $GLOBALS['TL_DCA'][$dc->table]['fields'][$dc->field];
        $rgxp = $arrData['eval']['rgxp'];
        $format = Date::formatToJs(Config::get($rgxp . 'Format'));

        $GLOBALS['TL_JAVASCRIPT'][] = 'assets/datepicker-range/js/datepicker-range.min.js';
        $GLOBALS['TL_CSS'][] = 'assets/datepicker-range/css/datepicker-range.min.css';

        $strOnSelect = '';

        // Trigger the auto-submit function (see #8603)
        if ($arrData['eval']['submitOnChange'])
        {
            $strOnSelect = ",\n        onSelect: function() { Backend.autoSubmit(\"" . $dc->table . "\"); }";
        }

        return ' ' . Image::getHtml('assets/datepicker/images/icon.svg', '', 'title="' . StringUtil::specialchars($GLOBALS['TL_LANG']['MSC']['datepicker']) . '" id="toggle_' . $dc->field . '" style="cursor:pointer"') . '

    window.addEvent("domready", function() {
      new Picker.Date.Range($("ctrl_' . $dc->field . '"), {
        endDateField: $("ctrl_endDate"),
        draggable: false,
        toggle: $("toggle_' . $dc->field . '"),
        format: "' . $format . '",
        positionOffset: {x:-211,y:-209},
        pickerClass: "datepicker_bootstrap",
        columns: 1,
        getStartEndDate: function(input) {
            return [input.get("value"), this.options.endDateField.get("value")].map(function(date){
            var parsed = Date.parse(date);
            return Date.isValid(parsed) ? parsed : null;
          }).clean();
        },
        setStartEndDate: function(input, dates){
          input.set("value", dates[0].format(this.options.format));
          this.options.endDateField.set("value", dates[1].format(this.options.format));
        },
        useFadeInOut: !Browser.ie' . $strOnSelect . ',
        startDay: ' . $GLOBALS['TL_LANG']['MSC']['weekOffset'] . ',
        titleFormat: "' . $GLOBALS['TL_LANG']['MSC']['titleFormat'] . '"
      });
    });
    ';
    }
}
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2245d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/208b5dfb55f98ebdaf585d99255032fa917dad25b25501154840f9c2862199ee?d=identicon)[ameotoko](/maintainers/ameotoko)

---

Top Contributors

[![ameotoko](https://avatars.githubusercontent.com/u/10257912?v=4)](https://github.com/ameotoko "ameotoko (3 commits)")

### Embed Badge

![Health badge](/badges/ameotoko-datepicker-range/health.svg)

```
[![Health](https://phpackages.com/badges/ameotoko-datepicker-range/health.svg)](https://phpackages.com/packages/ameotoko-datepicker-range)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
