@wernfried/daterangepicker 5.2.8 → 5.2.10

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.
@@ -1396,6 +1396,7 @@ 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
1400
  html += `<th colspan="7">`;
1400
1401
  if (this.externalStyle === "bulma")
1401
1402
  html += '<div class="select is-small mx-1">';
@@ -1406,19 +1407,18 @@ class DateRangePicker {
1406
1407
  start = ampm === "AM" ? 1 : 13;
1407
1408
  for (var i = start; i <= start + 23; i += this.timePickerOpts.hourStep) {
1408
1409
  let time = selected.set({ hour: i % 24 });
1409
- let disabled = false;
1410
1410
  if (minDate && time.set({ minute: 59 }) < minDate)
1411
- disabled = true;
1411
+ disabled.hour = true;
1412
1412
  if (maxDate && time.set({ minute: 0 }) > maxDate)
1413
- disabled = true;
1413
+ disabled.hour = true;
1414
1414
  if (minLimit && time.endOf("hour") < minLimit)
1415
- disabled = true;
1416
- if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "hour"))
1417
- disabled = true;
1415
+ disabled.hour = true;
1416
+ if (!disabled.hour && this.isInvalidTime(time, this.singleDatePicker ? null : side, "hour"))
1417
+ disabled.hour = true;
1418
1418
  if (this.timePicker24Hour) {
1419
- if (!disabled && i == selected.hour) {
1419
+ if (!disabled.hour && i == selected.hour) {
1420
1420
  html += `<option value="${i}" selected>${i}</option>`;
1421
- } else if (disabled) {
1421
+ } else if (disabled.hour) {
1422
1422
  html += `<option value="${i}" disabled class="disabled">${i}</option>`;
1423
1423
  } else {
1424
1424
  html += `<option value="${i}">${i}</option>`;
@@ -1427,9 +1427,9 @@ class DateRangePicker {
1427
1427
  const i_12 = DateTime.fromFormat(`${i % 24}`, "H").toFormat("h");
1428
1428
  const i_ampm = DateTime.fromFormat(`${i % 24}`, "H").toFormat("a", { locale: "en-US" });
1429
1429
  if (ampm == i_ampm) {
1430
- if (!disabled && i == selected.hour) {
1430
+ if (!disabled.hour && i == selected.hour) {
1431
1431
  html += `<option ampm="${i_ampm}" value="${i % 24}" selected>${i_12}</option>`;
1432
- } else if (disabled) {
1432
+ } else if (disabled.hour) {
1433
1433
  html += `<option ampm="${i_ampm}" value="${i % 24}" disabled class="disabled">${i_12}</option>`;
1434
1434
  } else {
1435
1435
  html += `<option ampm="${i_ampm}" value="${i % 24}">${i_12}</option>`;
@@ -1450,18 +1450,19 @@ class DateRangePicker {
1450
1450
  for (var i = 0; i < 60; i += this.timePickerOpts.minuteStep) {
1451
1451
  var padded = i < 10 ? "0" + i : i;
1452
1452
  let time = selected.set({ minute: i });
1453
- let disabled = false;
1453
+ if (disabled.hour)
1454
+ disabled.minute = true;
1454
1455
  if (minDate && time.set({ second: 59 }) < minDate)
1455
- disabled = true;
1456
+ disabled.minute = true;
1456
1457
  if (maxDate && time.set({ second: 0 }) > maxDate)
1457
- disabled = true;
1458
+ disabled.minute = true;
1458
1459
  if (minLimit && time.endOf("minute") < minLimit)
1459
- disabled = true;
1460
- if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "minute"))
1461
- disabled = true;
1462
- if (selected.minute == i && !disabled) {
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) {
1463
1464
  html += `<option value="${i}" selected>${padded}</option>`;
1464
- } else if (disabled) {
1465
+ } else if (disabled.minute) {
1465
1466
  html += `<option value="${i}" disabled class="disabled">${padded}</option>`;
1466
1467
  } else {
1467
1468
  html += `<option value="${i}">${padded}</option>`;
@@ -1479,18 +1480,19 @@ class DateRangePicker {
1479
1480
  for (var i = 0; i < 60; i += this.timePickerOpts.secondStep) {
1480
1481
  var padded = i < 10 ? "0" + i : i;
1481
1482
  let time = selected.set({ second: i });
1482
- let disabled = false;
1483
+ if (disabled.minute)
1484
+ disabled.second = true;
1483
1485
  if (minDate && time < minDate)
1484
- disabled = true;
1486
+ disabled.second = true;
1485
1487
  if (maxDate && time > maxDate)
1486
- disabled = true;
1488
+ disabled.second = true;
1487
1489
  if (minLimit && time < minLimit)
1488
- disabled = true;
1489
- if (!disabled && this.isInvalidTime(time, this.singleDatePicker ? null : side, "second"))
1490
- disabled = true;
1491
- if (selected.second == i && !disabled) {
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) {
1492
1494
  html += `<option value="${i}" selected>${padded}</option>`;
1493
- } else if (disabled) {
1495
+ } else if (disabled.second) {
1494
1496
  html += `<option value="${i}" disabled class="disabled">${padded}</option>`;
1495
1497
  } else {
1496
1498
  html += `<option value="${i}">${padded}</option>`;
@@ -1506,14 +1508,15 @@ class DateRangePicker {
1506
1508
  html += '<select class="ampmselect">';
1507
1509
  var am_html = "";
1508
1510
  var pm_html = "";
1509
- let disabled = false;
1511
+ if (disabled.hour)
1512
+ disabled.ampm = true;
1510
1513
  if (minDate && selected.startOf("day") < minDate)
1511
- disabled = true;
1514
+ disabled.ampm = true;
1512
1515
  if (maxDate && selected.endOf("day") > maxDate)
1513
- disabled = true;
1516
+ disabled.ampm = true;
1514
1517
  if (minLimit && selected.startOf("day") < minLimit)
1515
- disabled = true;
1516
- if (disabled) {
1518
+ disabled.ampm = true;
1519
+ if (disabled.ampm) {
1517
1520
  am_html = ' disabled class="disabled "';
1518
1521
  pm_html = ' disabled class="disabled"';
1519
1522
  } else {