PageSourceSearch

https://nexustas.com.au/wp-content/plugins/date-time-picker-field/assets/js/dtpicker.js?ver=6.8.10

js nexustas.com.au collected 2026-09-26 05:03:48 UTC 6,986 bytes, 266 lines download raw bytes

1// trigger datetimepicker on document ready and ajax complete ( when fields are loaded in lightboxes )
2jQuery(document)
3	.ready(function () {
4		dtp_init();
5	})
6	.ajaxComplete(function () {
7		dtp_init();
8	});
9
10function dtp_init() {
11	var dtselector = null;
12	if(datepickeropts.selector.charAt(0) != '#' && datepickeropts.selector.charAt(0) != '.'){
13		var diviID = datepickeropts.selector.split(',')[0]
14		dtselector = jQuery('input[data-original_id='+ diviID +']')
15		console.log(dtselector)
16	}else{
17		dtselector = jQuery(datepickeropts.selector);
18	}
19	if (dtselector.length === 0) {
20		return;
21	}
22
23	jQuery.datetimepicker.setDateFormatter("moment");
24
25	if (datepickeropts.preventkeyboard == "on") {
26		jQuery(dtselector).focus(function () {
27			jQuery(this).blur();
28		});
29		jQuery(dtselector).attr("readonly", "readonly");
30	}
31
32	// convert to integer
33	datepickeropts.offset = parseInt(datepickeropts.offset);
34
35	// custom times logic
36	var logic = function (currentDateTime, $input) {
37		var mtime = "";
38		var value = $input.val();
39
40		if (value === '') {
41			if (datepickeropts.use_max_date_as_default !== 'undefined' && datepickeropts.use_max_date_as_default === "1") {
42				value = datepickeropts.max_date;
43				datepickeropts.now = value;
44			}else{
45				value = datepickeropts.min_date;
46				datepickeropts.now = value;
47			}
48		}
49
50		$input.datetimepicker({ value: value });
51
52		if (datepickeropts.minDate === "on") {
53			var now = moment(datepickeropts.now, datepickeropts.format).toDate();
54
55			if (currentDateTime.toDateString() === now.toDateString()) {
56				var futureh = new Date(now.getTime() + datepickeropts.offset * 60000);
57				var mint = datepickeropts.minTime.split(":");
58
59				if (parseInt(futureh.getHours()) > parseInt(mint[0])) {
60					mtime = futureh.getHours() + ":" + futureh.getMinutes();
61					this.setOptions({
62						minTime: mtime
63					});
64				} else {
65					mtime = datepickeropts.minTime;
66					this.setOptions({
67						minTime: mtime
68					});
69				}
70			} else {
71				mtime = datepickeropts.minTime;
72				this.setOptions({
73					minTime: mtime
74				});
75			}
76		}
77	};
78
79	// if there's a predefined set of allowed times
80	if (
81		datepickeropts.timepicker === "on" &&
82		datepickeropts.allowed_times !== ""
83	) {
84		logic = function (currentDateTime, $input) {
85			var value = $input.val();
86
87			if (value === '') {
88				value = datepickeropts.min_date;
89				datepickeropts.now = value;
90			}
91
92			$input.datetimepicker({ value: value });
93
94			if (datepickeropts.minDate === "on") {
95				var now = moment(datepickeropts.now, datepickeropts.format).toDate();
96
97				if (currentDateTime.toDateString() === now.toDateString()) {
98					var futureh = new Date(now.getTime() + datepickeropts.offset * 60000);
99					mtime = futureh.getHours() + ":" + futureh.getMinutes();
100					this.setOptions({
101						minTime: mtime
102					});
103				} else {
104					mtime = datepickeropts.minTime;
105					this.setOptions({
106						minTime: mtime
107					});
108				}
109			}
110
111			var atimes = "";
112			if (currentDateTime.getDay() == 0 && datepickeropts.sunday_times !== "") {
113				atimes = datepickeropts.sunday_times;
114				this.setOptions({
115					allowTimes: atimes
116				});
117			} else if (
118				currentDateTime.getDay() == 1 &&
119				datepickeropts.monday_times !== ""
120			) {
121				atimes = datepickeropts.monday_times;
122				this.setOptions({
123					allowTimes: atimes
124				});
125			} else if (
126				currentDateTime.getDay() == 2 &&
127				datepickeropts.tuesday_times !== ""
128			) {
129				atimes = datepickeropts.tuesday_times;
130				this.setOptions({
131					allowTimes: atimes
132				});
133			} else if (
134				currentDateTime.getDay() == 3 &&
135				datepickeropts.wednesday_times !== ""
136			) {
137				atimes = datepickeropts.wednesday_times;
138				this.setOptions({
139					allowTimes: atimes
140				});
141			} else if (
142				currentDateTime.getDay() == 4 &&
143				datepickeropts.thursday_times !== ""
144			) {
145				atimes = datepickeropts.thursday_times;
146				this.setOptions({
147					allowTimes: atimes
148				});
149			} else if (
150				currentDateTime.getDay() == 5 &&
151				datepickeropts.friday_times !== ""
152			) {
153				atimes = datepickeropts.friday_times;
154				this.setOptions({
155					allowTimes: atimes
156				});
157			} else if (
158				currentDateTime.getDay() == 6 &&
159				datepickeropts.saturday_times !== ""
160			) {
161				atimes = datepickeropts.saturday_times;
162				this.setOptions({
163					allowTimes: atimes
164				});
165			} else {
166				atimes = datepickeropts.allowed_times;
167				this.setOptions({
168					allowTimes: atimes
169				});
170			}
171
172			var minDateTime = new Date(currentDateTime.getTime());
173			var maxDateTime = new Date(currentDateTime.getTime());
174
175			// minimum time
176			var timeex = atimes[0].split(":");
177			minDateTime.setHours(parseInt(timeex[0]), parseInt(timeex[1]));
178
179			if (currentDateTime < minDateTime) {
180				formattedDate = moment(minDateTime).format(datepickeropts.format);
181				$input.datetimepicker({ value: formattedDate });
182			}
183
184			// maximum time
185			timeex = atimes[atimes.length - 1].split(":");
186			maxDateTime.setHours(parseInt(timeex[0]), parseInt(timeex[1]));
187
188			if (currentDateTime > maxDateTime) {
189				formattedDate = moment(maxDateTime).format(datepickeropts.format);
190				$input.datetimepicker({ value: formattedDate });
191			}
192		};
193	}
194
195	var jumpToNext = function () {
196		//logic to jump to next input here
197	};
198
199	var opts = {
200		scrollMonth: false,
201		i18n: datepickeropts.i18n,
202		value: datepickeropts.value,
203		format: datepickeropts.format,
204		formatDate: datepickeropts.dateformat,
205		formatTime: datepickeropts.hourformat,
206		inline: datepickeropts.inline == "on",
207		theme: datepickeropts.theme,
208		timepicker: datepickeropts.timepicker == "on",
209		datepicker: datepickeropts.datepicker == "on",
210		step: parseInt(datepickeropts.step),
211		timepickerScrollbar: true,
212		dayOfWeekStart: parseInt(datepickeropts.dayOfWeekStart),
213		onChangeDateTime: logic,
214		onShow: logic,
215		onSelectDate: jumpToNext,
216		onSelectTime: jumpToNext,
217		validateOnBlur: false //added on 1.7.4 to prevent AM/PM format from jumping to 1h before.
218	};
219
220	if (datepickeropts.minTime !== "") {
221		opts.minTime = datepickeropts.minTime;
222	}
223
224	if (datepickeropts.maxTime !== "") {
225		opts.maxTime = datepickeropts.maxTime;
226	}
227
228	if (datepickeropts.minDate === "on") {
229		if (datepickeropts.value !== "") {
230			opts.minDate = datepickeropts.value;
231		} else {
232			opts.minDate = 0;
233		}
234	}
235
236	if (datepickeropts.max_date !== "") {
237		opts.maxDate = datepickeropts.max_date;
238
239		// set max year
240		opts.yearEnd = parseInt(datepickeropts.max_year);
241	}
242
243	if (datepickeropts.min_date !== "") {
244		opts.minDate = datepickeropts.min_date;
245
246		// set min year
247		opts.yearStart = parseInt(datepickeropts.min_year);
248	}
249
250	if (datepickeropts.disabled_days !== "") {
251		opts.disabledWeekDays = datepickeropts.disabled_days;
252	}
253
254	if (datepickeropts.disabled_calendar_days !== "") {
255		opts.disabledDates = datepickeropts.disabled_calendar_days;
256	}
257
258	if (datepickeropts.allowed_times !== "") {
259		opts.allowTimes = datepickeropts.allowed_times;
260	}
261
262	jQuery(dtselector)
263		.datetimepicker(opts)
264		.attr("type", "text");
265	jQuery.datetimepicker.setLocale(datepickeropts.locale);
266}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.