@wernfried/daterangepicker 5.1.5 → 5.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API_Doc.md +18 -29
- package/README.md +9 -9
- package/dist/esm/daterangepicker.js +19 -32
- package/dist/esm/daterangepicker.js.map +1 -1
- package/dist/esm/daterangepicker.min.js +1 -1
- package/dist/esm/daterangepicker.min.js.map +1 -1
- package/dist/global/daterangepicker.js +19 -32
- package/dist/global/daterangepicker.js.map +1 -1
- package/dist/global/daterangepicker.min.js +1 -1
- package/dist/global/daterangepicker.min.js.map +1 -1
- package/package.json +1 -1
package/API_Doc.md
CHANGED
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
<code>minDate</code>, <code>maxDate</code>, <code>minSpan</code>, <code>maxSpan</code>, <code>invalidDate</code> and <code>invalidTime</code> constraints.<br>
|
|
28
28
|
Event is only triggered when date string is valid and date value is changing<br></p>
|
|
29
29
|
</dd>
|
|
30
|
-
<dt><a href="#
|
|
30
|
+
<dt><a href="#event_beforeRenderTimePicker">"beforeRenderTimePicker"</a></dt>
|
|
31
31
|
<dd><p>Emitted before the calendar time picker is rendered.</p>
|
|
32
32
|
</dd>
|
|
33
33
|
<dt><a href="#event_beforeRenderCalendar">"beforeRenderCalendar"</a></dt>
|
|
34
|
-
<dd><p>Emitted before the calendar is rendered
|
|
34
|
+
<dd><p>Emitted before the calendar is rendered.</p>
|
|
35
35
|
</dd>
|
|
36
36
|
<dt><a href="#event_show">"show"</a></dt>
|
|
37
37
|
<dd><p>Emitted when the picker is shown</p>
|
|
@@ -70,10 +70,6 @@ Only useful when <a href="#Ranges">Ranges</a> are used.</p>
|
|
|
70
70
|
<dt><a href="#event_monthViewChange">"monthViewChange"</a></dt>
|
|
71
71
|
<dd><p>Emitted after month view changed, for example by click on 'prev' or 'next'</p>
|
|
72
72
|
</dd>
|
|
73
|
-
<dt><a href="#event_beforeRenderTimePicker">"beforeRenderTimePicker" (this)</a></dt>
|
|
74
|
-
<dd><p>Emitted before the TimePicker is rendered.
|
|
75
|
-
Useful to remove any manually added elements.</p>
|
|
76
|
-
</dd>
|
|
77
73
|
</dl>
|
|
78
74
|
|
|
79
75
|
## Typedefs
|
|
@@ -112,6 +108,7 @@ Ranges are not validated against <code>minDate</code>, <code>maxDate</code>, <co
|
|
|
112
108
|
* [.formatDate(date, format)](#DateRangePicker+formatDate) ⇒ <code>string</code>
|
|
113
109
|
* [.validateInput(range, dipatch)](#DateRangePicker+validateInput) ⇒ <code>InputViolation</code> \| <code>null</code>
|
|
114
110
|
* [.updateView(monthChange)](#DateRangePicker+updateView)
|
|
111
|
+
* [.move()](#DateRangePicker+move)
|
|
115
112
|
* [.show()](#DateRangePicker+show)
|
|
116
113
|
* [.hide()](#DateRangePicker+hide)
|
|
117
114
|
* [.toggle()](#DateRangePicker+toggle)
|
|
@@ -120,7 +117,7 @@ Ranges are not validated against <code>minDate</code>, <code>maxDate</code>, <co
|
|
|
120
117
|
* [.updateElement()](#DateRangePicker+updateElement)
|
|
121
118
|
* [.updateAltInput()](#DateRangePicker+updateAltInput)
|
|
122
119
|
* [.remove()](#DateRangePicker+remove)
|
|
123
|
-
* [.
|
|
120
|
+
* [.triggerEvent(ev, ...args)](#DateRangePicker+triggerEvent)
|
|
124
121
|
|
|
125
122
|
<a name="new_DateRangePicker_new"></a>
|
|
126
123
|
|
|
@@ -291,6 +288,12 @@ Could be useful after running [setStartDate](#DateRangePicker+setStartDate) or [
|
|
|
291
288
|
| --- | --- | --- |
|
|
292
289
|
| monthChange | <code>boolean</code> | If `true` then monthView changed |
|
|
293
290
|
|
|
291
|
+
<a name="DateRangePicker+move"></a>
|
|
292
|
+
|
|
293
|
+
### dateRangePicker.move()
|
|
294
|
+
Place the picker at the right place in the document
|
|
295
|
+
|
|
296
|
+
**Kind**: instance method of [<code>DateRangePicker</code>](#DateRangePicker)
|
|
294
297
|
<a name="DateRangePicker+show"></a>
|
|
295
298
|
|
|
296
299
|
### dateRangePicker.show()
|
|
@@ -344,19 +347,17 @@ Update altInput `<input>` element with selected value
|
|
|
344
347
|
Removes the picker from document
|
|
345
348
|
|
|
346
349
|
**Kind**: instance method of [<code>DateRangePicker</code>](#DateRangePicker)
|
|
347
|
-
<a name="DateRangePicker+
|
|
350
|
+
<a name="DateRangePicker+triggerEvent"></a>
|
|
348
351
|
|
|
349
|
-
### dateRangePicker.
|
|
350
|
-
Helper function to
|
|
352
|
+
### dateRangePicker.triggerEvent(ev, ...args)
|
|
353
|
+
Helper function to dispatch events
|
|
351
354
|
|
|
352
355
|
**Kind**: instance method of [<code>DateRangePicker</code>](#DateRangePicker)
|
|
353
356
|
|
|
354
357
|
| Param | Type | Description |
|
|
355
358
|
| --- | --- | --- |
|
|
356
|
-
|
|
|
357
|
-
|
|
|
358
|
-
| selector | <code>string</code> | Query selector string to filter the descendants of the element |
|
|
359
|
-
| delegate | <code>any</code> | Handler data |
|
|
359
|
+
| ev | <code>Event</code> | From this.#events |
|
|
360
|
+
| ...args | <code>any</code> | Additional parameters if needed |
|
|
360
361
|
|
|
361
362
|
<a name="DateRangePickerEvent"></a>
|
|
362
363
|
|
|
@@ -434,9 +435,9 @@ drp.setStartDate(DateTime.now().minus({ years: 10 });
|
|
|
434
435
|
|
|
435
436
|
// -> Calendar selects and shows "today - 3 days"
|
|
436
437
|
```
|
|
437
|
-
<a name="
|
|
438
|
+
<a name="event_beforeRenderTimePicker"></a>
|
|
438
439
|
|
|
439
|
-
## "
|
|
440
|
+
## "beforeRenderTimePicker"
|
|
440
441
|
Emitted before the calendar time picker is rendered.
|
|
441
442
|
|
|
442
443
|
**Kind**: event emitted
|
|
@@ -450,7 +451,7 @@ Emitted before the calendar time picker is rendered.
|
|
|
450
451
|
<a name="event_beforeRenderCalendar"></a>
|
|
451
452
|
|
|
452
453
|
## "beforeRenderCalendar"
|
|
453
|
-
Emitted before the calendar is rendered.
|
|
454
|
+
Emitted before the calendar is rendered.
|
|
454
455
|
|
|
455
456
|
**Kind**: event emitted
|
|
456
457
|
**Properties**
|
|
@@ -622,18 +623,6 @@ Emitted after month view changed, for example by click on 'prev' or 'next'
|
|
|
622
623
|
| event.left | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar |
|
|
623
624
|
| event.right | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar or `null` for singleDatePicker |
|
|
624
625
|
|
|
625
|
-
<a name="event_beforeRenderTimePicker"></a>
|
|
626
|
-
|
|
627
|
-
## "beforeRenderTimePicker" (this)
|
|
628
|
-
Emitted before the TimePicker is rendered.
|
|
629
|
-
Useful to remove any manually added elements.
|
|
630
|
-
|
|
631
|
-
**Kind**: event emitted
|
|
632
|
-
|
|
633
|
-
| Param | Type | Description |
|
|
634
|
-
| --- | --- | --- |
|
|
635
|
-
| this | [<code>DateRangePicker</code>](#DateRangePicker) | The daterangepicker object |
|
|
636
|
-
|
|
637
626
|
<a name="Options"></a>
|
|
638
627
|
|
|
639
628
|
## Options
|
package/README.md
CHANGED
|
@@ -19,8 +19,8 @@ Above samples are based on the [original repository](https://github.com/dangross
|
|
|
19
19
|
#### Global import with `<script>` tags
|
|
20
20
|
```html
|
|
21
21
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
|
|
22
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
23
|
-
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
22
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/dist/global/daterangepicker.min.js"></script>
|
|
23
|
+
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/css/daterangepicker.min.css" rel="stylesheet" />
|
|
24
24
|
|
|
25
25
|
<input type="text" id="picker" />
|
|
26
26
|
|
|
@@ -40,11 +40,11 @@ Above samples are based on the [original repository](https://github.com/dangross
|
|
|
40
40
|
{
|
|
41
41
|
"imports": {
|
|
42
42
|
"luxon": "https://cdn.jsdelivr.net/npm/luxon@3.7.2/+esm",
|
|
43
|
-
"daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
43
|
+
"daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/+esm"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
</script>
|
|
47
|
-
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
47
|
+
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/css/daterangepicker.min.css" rel="stylesheet" />
|
|
48
48
|
|
|
49
49
|
<input type="text" id="picker" />
|
|
50
50
|
|
|
@@ -63,9 +63,9 @@ Above samples are based on the [original repository](https://github.com/dangross
|
|
|
63
63
|
#### Style with Bulma
|
|
64
64
|
```html
|
|
65
65
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
|
|
66
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
66
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/dist/global/daterangepicker.min.js"></script>
|
|
67
67
|
<link type="text/css" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css" rel="stylesheet" />
|
|
68
|
-
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
68
|
+
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/css/daterangepicker.bulma.min.css" rel="stylesheet" />
|
|
69
69
|
|
|
70
70
|
<input type="text" id="picker" />
|
|
71
71
|
|
|
@@ -121,8 +121,8 @@ Initialisation with jQuery is supported in version 5.x
|
|
|
121
121
|
```html
|
|
122
122
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
|
|
123
123
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
|
|
124
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
125
|
-
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.
|
|
124
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/dist/global/daterangepicker.min.js"></script>
|
|
125
|
+
<link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.8/css/daterangepicker.min.css" rel="stylesheet" />
|
|
126
126
|
|
|
127
127
|
<input type="text" id="picker" />
|
|
128
128
|
|
|
@@ -188,7 +188,7 @@ input.addEventListener('beforeHide', (ev) => {
|
|
|
188
188
|
### Option `ranges`
|
|
189
189
|
<a name="options-ranges"></a>
|
|
190
190
|
```js
|
|
191
|
-
|
|
191
|
+
ranges: {
|
|
192
192
|
'Today': [DateTime.now().startOf('day'), DateTime.now().endOf('day')],
|
|
193
193
|
'Yesterday': [DateTime.now().startOf('day').minus({day: 1}), DateTime.now().endOf('day').minus({day: 1})],
|
|
194
194
|
'Last 7 Days': ['2025-03-01', '2025-03-07'],
|
|
@@ -601,13 +601,13 @@ class DateRangePicker {
|
|
|
601
601
|
/**
|
|
602
602
|
* Emitted before the calendar time picker is rendered.
|
|
603
603
|
* @event
|
|
604
|
-
* @name "
|
|
604
|
+
* @name "beforeRenderTimePicker"
|
|
605
605
|
* @property {DateRangePickerEvent} event - The Event object
|
|
606
606
|
* @property {DateRangePicker} event.picker - The daterangepicker object
|
|
607
607
|
*/
|
|
608
608
|
onBeforeRenderTimePicker: { type: "beforeRenderTimePicker" },
|
|
609
609
|
/**
|
|
610
|
-
* Emitted before the calendar is rendered.
|
|
610
|
+
* Emitted before the calendar is rendered.
|
|
611
611
|
* @event
|
|
612
612
|
* @name "beforeRenderCalendar"
|
|
613
613
|
* @property {DateRangePickerEvent} event - The Event object
|
|
@@ -868,9 +868,6 @@ class DateRangePicker {
|
|
|
868
868
|
}
|
|
869
869
|
}
|
|
870
870
|
/* #endregion */
|
|
871
|
-
logDate(date) {
|
|
872
|
-
return this.timePicker ? date.toISO({ suppressMilliseconds: true }) : date.toISODate();
|
|
873
|
-
}
|
|
874
871
|
/**
|
|
875
872
|
* Format a DateTime object
|
|
876
873
|
* @param {external:DateTime} date - The DateTime to format
|
|
@@ -1361,13 +1358,6 @@ class DateRangePicker {
|
|
|
1361
1358
|
this.container.querySelector(`.drp-calendar.${side} .calendar-table tbody`).innerHTML = html;
|
|
1362
1359
|
}
|
|
1363
1360
|
/**
|
|
1364
|
-
* Emitted before the TimePicker is rendered.
|
|
1365
|
-
* Useful to remove any manually added elements.
|
|
1366
|
-
* @event
|
|
1367
|
-
* @name "beforeRenderTimePicker"
|
|
1368
|
-
* @param {DateRangePicker} this - The daterangepicker object
|
|
1369
|
-
*/
|
|
1370
|
-
/**
|
|
1371
1361
|
* Renders the time pickers
|
|
1372
1362
|
* @private
|
|
1373
1363
|
* @emits "beforeRenderTimePicker"
|
|
@@ -1556,7 +1546,6 @@ class DateRangePicker {
|
|
|
1556
1546
|
/* #region Move/Show/Hide */
|
|
1557
1547
|
/**
|
|
1558
1548
|
* Place the picker at the right place in the document
|
|
1559
|
-
* @private
|
|
1560
1549
|
*/
|
|
1561
1550
|
move() {
|
|
1562
1551
|
let parentOffset = { top: 0, left: 0 };
|
|
@@ -1953,31 +1942,29 @@ class DateRangePicker {
|
|
|
1953
1942
|
calculateChosenLabel() {
|
|
1954
1943
|
if (Object.keys(this.ranges).length === 0)
|
|
1955
1944
|
return;
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
} else if (this.timePickerOpts.showSeconds) {
|
|
1964
|
-
unit = "second";
|
|
1965
|
-
}
|
|
1945
|
+
let customRange = true;
|
|
1946
|
+
let unit = this.timePicker ? "hour" : "day";
|
|
1947
|
+
if (this.timePicker) {
|
|
1948
|
+
if (this.timePickerOpts.showMinutes) {
|
|
1949
|
+
unit = "minute";
|
|
1950
|
+
} else if (this.timePickerOpts.showSeconds) {
|
|
1951
|
+
unit = "second";
|
|
1966
1952
|
}
|
|
1967
|
-
|
|
1953
|
+
}
|
|
1954
|
+
for (const [key2, [start, end]] of Object.entries(this.ranges)) {
|
|
1955
|
+
if (this.#startDate.startOf(unit).equals(start.startOf(unit)) && this.#endDate.startOf(unit).equals(end.startOf(unit))) {
|
|
1968
1956
|
customRange = false;
|
|
1969
|
-
const
|
|
1970
|
-
this.chosenLabel =
|
|
1971
|
-
|
|
1957
|
+
const range = this.container.querySelector(`.ranges li[data-range-key="${key2}"]`);
|
|
1958
|
+
this.chosenLabel = key2;
|
|
1959
|
+
range.classList.add("active");
|
|
1972
1960
|
break;
|
|
1973
1961
|
}
|
|
1974
|
-
i++;
|
|
1975
1962
|
}
|
|
1976
1963
|
if (customRange) {
|
|
1977
1964
|
if (this.showCustomRangeLabel) {
|
|
1978
|
-
const
|
|
1979
|
-
this.chosenLabel =
|
|
1980
|
-
|
|
1965
|
+
const range = this.container.querySelector(".ranges li:last-child");
|
|
1966
|
+
this.chosenLabel = range.dataset.rangeKey;
|
|
1967
|
+
range.classList.add("active");
|
|
1981
1968
|
} else {
|
|
1982
1969
|
this.chosenLabel = null;
|
|
1983
1970
|
}
|
|
@@ -2249,7 +2236,6 @@ class DateRangePicker {
|
|
|
2249
2236
|
* Helper function to dispatch events
|
|
2250
2237
|
* @param {Event} ev - From this.#events
|
|
2251
2238
|
* @param {...any?} args - Additional parameters if needed
|
|
2252
|
-
* @private
|
|
2253
2239
|
*/
|
|
2254
2240
|
triggerEvent(ev, ...args) {
|
|
2255
2241
|
if (args.length === 0) {
|
|
@@ -2268,6 +2254,7 @@ class DateRangePicker {
|
|
|
2268
2254
|
* @param {string} eventName - Name of the event
|
|
2269
2255
|
* @param {string} selector - Query selector string to filter the descendants of the element
|
|
2270
2256
|
* @param {any} delegate - Handler data
|
|
2257
|
+
* @private
|
|
2271
2258
|
*/
|
|
2272
2259
|
addListener(element, eventName, selector, delegate) {
|
|
2273
2260
|
this.container.querySelectorAll(element).forEach((el) => {
|