@wernfried/daterangepicker 5.2.10 → 5.2.12

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.
@@ -1127,8 +1127,8 @@ class DateRangePicker {
1127
1127
  this.triggerEvent(this.#events.onBeforeRenderTimePicker);
1128
1128
  this.renderTimePicker("start");
1129
1129
  this.renderTimePicker("end");
1130
- this.container.querySelector(".calendar-time.end-time select").disabled = !this.#endDate;
1131
- this.container.querySelector(".calendar-time.end-time select").classList.toggle("disabled", !this.#endDate);
1130
+ this.container.querySelectorAll(".calendar-time.end-time select").disabled = !this.#endDate;
1131
+ this.container.querySelectorAll(".calendar-time.end-time select").classList.toggle("disabled", !this.#endDate);
1132
1132
  }
1133
1133
  this.updateLabel();
1134
1134
  this.updateMonthsInView();
@@ -1396,7 +1396,8 @@ class DateRangePicker {
1396
1396
  if (maxDate && selected > maxDate)
1397
1397
  selected = maxDate;
1398
1398
  }
1399
- let disabled = { hour: false, minute: false, second: false, ampm: false };
1399
+ let disabledHours = [];
1400
+ let disabledMinutes = [];
1400
1401
  html += `<th colspan="7">`;
1401
1402
  if (this.externalStyle === "bulma")
1402
1403
  html += '<div class="select is-small mx-1">';
@@ -1407,18 +1408,19 @@ class DateRangePicker {
1407
1408
  start = ampm === "AM" ? 1 : 13;
1408
1409
  for (var i = start; i <= start + 23; i += this.timePickerOpts.hourStep) {
1409
1410
  let time = selected.set({ hour: i % 24 });
1411
+ let disabled = false;
1410
1412
  if (minDate && time.set({ minute: 59 }) < minDate)
1411
- disabled.hour = true;
1413
+ disabled = true;
1412
1414
  if (maxDate && time.set({ minute: 0 }) > maxDate)
1413
- disabled.hour = true;
1415
+ disabled = true;
1414
1416
  if (minLimit && time.endOf("hour") < minLimit)
1415
- disabled.hour = true;
1416
- if (!disabled.hour && this.isInvalidTime(time, this.singleDatePicker ? null : side, "hour"))
1417
- disabled.hour = true;
1417
+ disabled = true;
1418
+ if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "hour"))
1419
+ disabled = true;
1418
1420
  if (this.timePicker24Hour) {
1419
- if (!disabled.hour && i == selected.hour) {
1421
+ if (!disabled && i == selected.hour) {
1420
1422
  html += `<option value="${i}" selected>${i}</option>`;
1421
- } else if (disabled.hour) {
1423
+ } else if (disabled) {
1422
1424
  html += `<option value="${i}" disabled class="disabled">${i}</option>`;
1423
1425
  } else {
1424
1426
  html += `<option value="${i}">${i}</option>`;
@@ -1427,9 +1429,9 @@ class DateRangePicker {
1427
1429
  const i_12 = DateTime.fromFormat(`${i % 24}`, "H").toFormat("h");
1428
1430
  const i_ampm = DateTime.fromFormat(`${i % 24}`, "H").toFormat("a", { locale: "en-US" });
1429
1431
  if (ampm == i_ampm) {
1430
- if (!disabled.hour && i == selected.hour) {
1432
+ if (!disabled && i == selected.hour) {
1431
1433
  html += `<option ampm="${i_ampm}" value="${i % 24}" selected>${i_12}</option>`;
1432
- } else if (disabled.hour) {
1434
+ } else if (disabled) {
1433
1435
  html += `<option ampm="${i_ampm}" value="${i % 24}" disabled class="disabled">${i_12}</option>`;
1434
1436
  } else {
1435
1437
  html += `<option ampm="${i_ampm}" value="${i % 24}">${i_12}</option>`;
@@ -1438,6 +1440,7 @@ class DateRangePicker {
1438
1440
  html += `<option ampm="${i_ampm}" hidden="hidden" value="${i % 24}">${i_12}</option>`;
1439
1441
  }
1440
1442
  }
1443
+ disabledHours.push(disabled);
1441
1444
  }
1442
1445
  html += "</select>";
1443
1446
  if (this.externalStyle === "bulma")
@@ -1450,23 +1453,25 @@ class DateRangePicker {
1450
1453
  for (var i = 0; i < 60; i += this.timePickerOpts.minuteStep) {
1451
1454
  var padded = i < 10 ? "0" + i : i;
1452
1455
  let time = selected.set({ minute: i });
1453
- if (disabled.hour)
1454
- disabled.minute = true;
1456
+ let disabled = false;
1457
+ if (disabledHours.every((x) => x))
1458
+ disabled = true;
1455
1459
  if (minDate && time.set({ second: 59 }) < minDate)
1456
- disabled.minute = true;
1460
+ disabled = true;
1457
1461
  if (maxDate && time.set({ second: 0 }) > maxDate)
1458
- disabled.minute = true;
1462
+ disabled = true;
1459
1463
  if (minLimit && time.endOf("minute") < minLimit)
1460
- disabled.minute = true;
1461
- if (!disabled.minute && this.isInvalidTime(time, this.singleDatePicker ? null : side, "minute"))
1462
- disabled.minute = true;
1463
- if (selected.minute == i && !disabled.minute) {
1464
+ disabled = true;
1465
+ if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "minute"))
1466
+ disabled = true;
1467
+ if (selected.minute == i && !disabled) {
1464
1468
  html += `<option value="${i}" selected>${padded}</option>`;
1465
- } else if (disabled.minute) {
1469
+ } else if (disabled) {
1466
1470
  html += `<option value="${i}" disabled class="disabled">${padded}</option>`;
1467
1471
  } else {
1468
1472
  html += `<option value="${i}">${padded}</option>`;
1469
1473
  }
1474
+ disabledMinutes.push(disabled);
1470
1475
  }
1471
1476
  html += "</select>";
1472
1477
  if (this.externalStyle === "bulma")
@@ -1480,19 +1485,20 @@ class DateRangePicker {
1480
1485
  for (var i = 0; i < 60; i += this.timePickerOpts.secondStep) {
1481
1486
  var padded = i < 10 ? "0" + i : i;
1482
1487
  let time = selected.set({ second: i });
1483
- if (disabled.minute)
1484
- disabled.second = true;
1488
+ let disabled = false;
1489
+ if (disabledMinutes.every((x) => x))
1490
+ disabled = true;
1485
1491
  if (minDate && time < minDate)
1486
- disabled.second = true;
1492
+ disabled = true;
1487
1493
  if (maxDate && time > maxDate)
1488
- disabled.second = true;
1494
+ disabled = true;
1489
1495
  if (minLimit && time < minLimit)
1490
- disabled.second = true;
1491
- if (!disabled.second && this.isInvalidTime(time, this.singleDatePicker ? null : side, "second"))
1492
- disabled.second = true;
1493
- if (selected.second == i && !disabled.second) {
1496
+ disabled = true;
1497
+ if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "second"))
1498
+ disabled = true;
1499
+ if (selected.second == i && !disabled) {
1494
1500
  html += `<option value="${i}" selected>${padded}</option>`;
1495
- } else if (disabled.second) {
1501
+ } else if (disabled) {
1496
1502
  html += `<option value="${i}" disabled class="disabled">${padded}</option>`;
1497
1503
  } else {
1498
1504
  html += `<option value="${i}">${padded}</option>`;
@@ -1508,15 +1514,16 @@ class DateRangePicker {
1508
1514
  html += '<select class="ampmselect">';
1509
1515
  var am_html = "";
1510
1516
  var pm_html = "";
1511
- if (disabled.hour)
1512
- disabled.ampm = true;
1517
+ let disabled = false;
1518
+ if (disabledHours.every((x) => x))
1519
+ disabled = true;
1513
1520
  if (minDate && selected.startOf("day") < minDate)
1514
- disabled.ampm = true;
1521
+ disabled = true;
1515
1522
  if (maxDate && selected.endOf("day") > maxDate)
1516
- disabled.ampm = true;
1523
+ disabled = true;
1517
1524
  if (minLimit && selected.startOf("day") < minLimit)
1518
- disabled.ampm = true;
1519
- if (disabled.ampm) {
1525
+ disabled = true;
1526
+ if (disabled) {
1520
1527
  am_html = ' disabled class="disabled "';
1521
1528
  pm_html = ' disabled class="disabled"';
1522
1529
  } else {