(this: Instance)
| 58 | }, |
| 59 | |
| 60 | onChange(this: Instance) { |
| 61 | const latest = this.latestSelectedDateObj; |
| 62 | const matchingTimeLimit = latest && findDateTimeLimit(latest); |
| 63 | |
| 64 | if (latest && matchingTimeLimit !== undefined) { |
| 65 | this.set(matchingTimeLimit); |
| 66 | |
| 67 | (fp.config.minTime as Date).setFullYear(latest.getFullYear()); |
| 68 | (fp.config.maxTime as Date).setFullYear(latest.getFullYear()); |
| 69 | (fp.config.minTime as Date).setMonth(latest.getMonth()); |
| 70 | (fp.config.maxTime as Date).setMonth(latest.getMonth()); |
| 71 | (fp.config.minTime as Date).setDate(latest.getDate()); |
| 72 | (fp.config.maxTime as Date).setDate(latest.getDate()); |
| 73 | |
| 74 | if ((fp.config.minTime as Date) > (fp.config.maxTime as Date)) { |
| 75 | const minBound = calculateSecondsSinceMidnight( |
| 76 | (fp.config.minTime as Date).getHours(), |
| 77 | (fp.config.minTime as Date).getMinutes(), |
| 78 | (fp.config.minTime as Date).getSeconds() |
| 79 | ); |
| 80 | const maxBound = calculateSecondsSinceMidnight( |
| 81 | (fp.config.maxTime as Date).getHours(), |
| 82 | (fp.config.maxTime as Date).getMinutes(), |
| 83 | (fp.config.maxTime as Date).getSeconds() |
| 84 | ); |
| 85 | const currentTime = calculateSecondsSinceMidnight( |
| 86 | latest.getHours(), |
| 87 | latest.getMinutes(), |
| 88 | latest.getSeconds() |
| 89 | ); |
| 90 | |
| 91 | if (currentTime > maxBound && currentTime < minBound) { |
| 92 | const result = parseSeconds(minBound); |
| 93 | fp.setDate( |
| 94 | new Date(latest.getTime()).setHours( |
| 95 | result[0], |
| 96 | result[1], |
| 97 | result[2] |
| 98 | ), |
| 99 | false |
| 100 | ); |
| 101 | } |
| 102 | } else { |
| 103 | if (compareDates(latest, fp.config.maxTime as Date, false) > 0) { |
| 104 | fp.setDate( |
| 105 | new Date(latest.getTime()).setHours( |
| 106 | (fp.config.maxTime as Date).getHours(), |
| 107 | (fp.config.maxTime as Date).getMinutes(), |
| 108 | (fp.config.maxTime as Date).getSeconds(), |
| 109 | (fp.config.maxTime as Date).getMilliseconds() |
| 110 | ), |
| 111 | false |
| 112 | ); |
| 113 | } else if ( |
| 114 | compareDates(latest, fp.config.minTime as Date, false) < 0 |
| 115 | ) { |
| 116 | fp.setDate( |
| 117 | new Date(latest.getTime()).setHours( |
nothing calls this directly
no test coverage detected
searching dependent graphs…