@wernfried/daterangepicker 5.2.5 → 5.2.7

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/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.2.5/dist/global/daterangepicker.min.js"></script>
23
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.5/css/daterangepicker.min.css" rel="stylesheet" />
22
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/dist/global/daterangepicker.min.js"></script>
23
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/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.2.5/+esm"
43
+ "daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/+esm"
44
44
  }
45
45
  }
46
46
  </script>
47
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.5/css/daterangepicker.min.css" rel="stylesheet" />
47
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/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.2.5/dist/global/daterangepicker.min.js"></script>
66
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/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.2.5/css/daterangepicker.bulma.min.css" rel="stylesheet" />
68
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/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.2.5/dist/global/daterangepicker.min.js"></script>
125
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.5/css/daterangepicker.min.css" rel="stylesheet" />
124
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/dist/global/daterangepicker.min.js"></script>
125
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.7/css/daterangepicker.min.css" rel="stylesheet" />
126
126
 
127
127
  <input type="text" id="picker" />
128
128
 
@@ -66,8 +66,7 @@ class DateRangePicker {
66
66
  };
67
67
  if (this.element == null)
68
68
  return;
69
- this.callback = function() {
70
- };
69
+ this.callback = null;
71
70
  this.isShowing = false;
72
71
  this.leftCalendar = {};
73
72
  this.rightCalendar = {};
@@ -765,7 +764,7 @@ class DateRangePicker {
765
764
  */
766
765
  setStartDate(startDate, updateView = true) {
767
766
  if (!this.singleDatePicker)
768
- return setRange(startDate, this.#endDate, updateView);
767
+ return this.setRange(startDate, this.#endDate, updateView);
769
768
  const oldDate = this.#startDate;
770
769
  let newDate = this.parseDate(startDate);
771
770
  if (newDate.equals(oldDate))
@@ -802,7 +801,7 @@ class DateRangePicker {
802
801
  * drp.setEndDate(DateTime.now().startOf('hour'));
803
802
  */
804
803
  setEndDate(endDate, updateView = true) {
805
- return this.singleDatePicker ? null : setRange(this.#startDate, endDate, updateView);
804
+ return this.singleDatePicker ? null : this.setRange(this.#startDate, endDate, updateView);
806
805
  }
807
806
  /**
808
807
  * Sets the date range picker's currently selected start date to the provided date.<br>
@@ -880,6 +879,8 @@ class DateRangePicker {
880
879
  * @returns {string} - Formatted date string
881
880
  */
882
881
  formatDate(date, format = this.locale.format) {
882
+ if (date === null)
883
+ return null;
883
884
  if (typeof format === "object") {
884
885
  return date.toLocaleString(format);
885
886
  } else {
@@ -1656,8 +1657,10 @@ class DateRangePicker {
1656
1657
  this.#startDate = this.oldStartDate;
1657
1658
  this.#endDate = this.oldEndDate;
1658
1659
  }
1659
- if (!this.#startDate.equals(this.oldStartDate ?? luxon.DateTime) || !this.#endDate.equals(this.oldEndDate ?? luxon.DateTime))
1660
- this.callback(this.startDate, this.endDate, this.chosenLabel);
1660
+ if (typeof this.callback === "function") {
1661
+ if (this.#startDate && !this.#startDate.equals(this.oldStartDate ?? luxon.DateTime) || this.#endDate && !this.singleDatePicker && !this.#endDate.equals(this.oldEndDate ?? luxon.DateTime))
1662
+ this.callback(this.startDate, this.endDate, this.chosenLabel);
1663
+ }
1661
1664
  this.updateElement();
1662
1665
  const event = this.triggerEvent(this.#events.onBeforeHide);
1663
1666
  if (event.defaultPrevented)