Skip to content

Commit 4ddd06a

Browse files
Firefox Fallback Method
Firefox Fallback Method
1 parent cfd727a commit 4ddd06a

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

MerlinAU.asp

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,49 @@ function ToggleDaysOfWeek (isEveryXDayChecked, numberOfDays)
339339
}
340340
}
341341
342+
function MerlinAU_TimeSelectFallbackAttach(id) {
343+
var input = document.getElementById(id);
344+
if (!input) return;
345+
346+
var isFirefox = /firefox/i.test(navigator.userAgent);
347+
if (!isFirefox && typeof input.showPicker === 'function') return;
348+
349+
function pad(n){ return (n<10?'0':'')+n; }
350+
function parseHHMM(v){
351+
v = (v||'').trim();
352+
var m = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(v);
353+
if (m) return {h:+m[1], m:+m[2]};
354+
var d = new Date(); return {h:d.getHours(), m:d.getMinutes()};
355+
}
356+
357+
var wrap = document.createElement('span');
358+
var selH = document.createElement('select');
359+
var selM = document.createElement('select');
360+
361+
for (var h=0; h<24; h++) selH.add(new Option(pad(h), h));
362+
for (var m=0; m<60; m++) selM.add(new Option(pad(m), m));
363+
364+
input.readOnly = true;
365+
366+
function apply(){
367+
var hh = pad(+selH.value), mm = pad(+selM.value);
368+
input.value = hh + ':' + mm;
369+
if (window.ClearTimePickerInvalid) window.ClearTimePickerInvalid(input);
370+
if (window.ValidateTimePicker) window.ValidateTimePicker(input);
371+
}
372+
373+
if (input.nextSibling) input.parentNode.insertBefore(wrap, input.nextSibling);
374+
else input.parentNode.appendChild(wrap);
375+
wrap.appendChild(selH);
376+
wrap.appendChild(document.createTextNode(' : '));
377+
wrap.appendChild(selM);
378+
379+
var start = parseHHMM(input.value);
380+
selH.value = start.h; selM.value = start.m;
381+
selH.onchange = apply; selM.onchange = apply;
382+
apply(); // normalize displayed HH:MM
383+
}
384+
342385
/**---------------------------------------**/
343386
/** Added by ExtremeFiretop [2025-Aug-24] **/
344387
/**---------------------------------------**/
@@ -2107,6 +2150,7 @@ function initial()
21072150
UpdateScriptVersion();
21082151
showhide('Script_AutoUpdate_SchedText',true);
21092152
showhide('FW_AutoUpdate_CheckSchedText',true);
2153+
MerlinAU_TimeSelectFallbackAttach('fwScheduleTIME');
21102154
21112155
// Debugging iframe behavior //
21122156
var hiddenFrame = document.getElementById('hidden_frame');
@@ -2929,7 +2973,7 @@ function initializeCollapsibleSections()
29292973
name="fwScheduleTIME"
29302974
value="00:00"
29312975
step="60"
2932-
style="width: 140px; margin-left: 18px; margin-top: 6px; margin-bottom: 10px;"
2976+
style="width: 120px; margin-left: 18px; margin-top: 6px; margin-bottom: 10px;"
29332977
oninput="ValidateTimePicker(this)"
29342978
onblur="ValidateTimePicker(this)"
29352979
/>

0 commit comments

Comments
 (0)