MCPcopy
hub / github.com/flatpickr/flatpickr / onChange

Function onChange

src/plugins/minMaxTimePlugin.ts:60–161  ·  view source on GitHub ↗
(this: Instance)

Source from the content-addressed store, hash-verified

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(

Callers

nothing calls this directly

Calls 5

parseSecondsFunction · 0.90
compareDatesFunction · 0.90
compareTimesFunction · 0.90
findDateTimeLimitFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…