diff --git a/templates/tracking.html b/templates/tracking.html index 47350c6..55d8c66 100644 --- a/templates/tracking.html +++ b/templates/tracking.html @@ -347,23 +347,32 @@ function transmit433() { Swal.fire({ - title: 'Enter data to transmit:', - input: 'text', - inputAttributes: { - autocapitalize: 'off' - }, + title: 'Enter data to transmit and set interval:', + html: + '' + + '', + focusConfirm: false, showCancelButton: true, confirmButtonText: 'Submit', cancelButtonText: 'Cancel', - showLoaderOnConfirm: true, - preConfirm: (value) => { - return startTransmission433(value); // Call the function to start transmission - }, - allowOutsideClick: () => !Swal.isLoading() + preConfirm: () => { + const data = document.getElementById('swal-input1').value; + const interval = document.getElementById('swal-input2').value; + + if (!data || !interval) { + Swal.showValidationMessage('Please enter both data and interval'); + } else if (isNaN(interval) || interval < 1000) { // Ensuring the interval is a number and at least 1 second (1000 milliseconds) + Swal.showValidationMessage('Please enter a valid interval (number >= 1000)'); + } else { + return { data: data, interval: interval }; + } + } }).then((result) => { - if (result.isConfirmed) { + if (result.isConfirmed && result.value) { + startTransmission433(result.value.data, result.value.interval); Swal.fire({ title: 'Transmission Started!', + html: `Data: ${result.value.data}
Interval: ${result.value.interval} milliseconds`, icon: 'success' }); } @@ -371,19 +380,21 @@ } - function startTransmission433(data) { + + function startTransmission433(data, interval) { if (transmitIntervalId433) { clearInterval(transmitIntervalId433); // Clear existing interval } transmitIntervalId433 = setInterval(() => { sendTransmissionData433(data); - }, 10000); // Transmit data every 10 seconds + }, parseInt(interval)); // Use the user-provided interval, ensuring it's an integer // Send the first transmission immediately - return sendTransmissionData433(data); + sendTransmissionData433(data); } + function sendTransmissionData433(data) { return fetch('/transmit433', { method: 'POST', @@ -582,23 +593,32 @@ function transmit868() { Swal.fire({ - title: 'Enter data to transmit:', - input: 'text', - inputAttributes: { - autocapitalize: 'off' - }, + title: 'Enter data to transmit and set interval:', + html: + '' + + '', + focusConfirm: false, showCancelButton: true, confirmButtonText: 'Submit', cancelButtonText: 'Cancel', - showLoaderOnConfirm: true, - preConfirm: (value) => { - return startTransmission868(value); // Call the function to start transmission - }, - allowOutsideClick: () => !Swal.isLoading() + preConfirm: () => { + const data = document.getElementById('swal-input1-868').value; + const interval = document.getElementById('swal-input2-868').value; + + if (!data || !interval) { + Swal.showValidationMessage('Please enter both data and interval'); + } else if (isNaN(interval) || interval < 1000) { + Swal.showValidationMessage('Please enter a valid interval (number >= 1000)'); + } else { + return { data: data, interval: interval }; + } + } }).then((result) => { - if (result.isConfirmed) { + if (result.isConfirmed && result.value) { + startTransmission868(result.value.data, result.value.interval); Swal.fire({ title: 'Transmission Started!', + html: `Data: ${result.value.data}
Interval: ${result.value.interval} milliseconds`, icon: 'success' }); } @@ -606,19 +626,21 @@ } - function startTransmission868(data) { + + function startTransmission868(data, interval) { if (transmitIntervalId868) { clearInterval(transmitIntervalId868); // Clear existing interval } transmitIntervalId868 = setInterval(() => { sendTransmissionData868(data); - }, 10000); // Transmit data every 10 seconds + }, parseInt(interval)); // Send the first transmission immediately - return sendTransmissionData868(data); + sendTransmissionData868(data); } + function sendTransmissionData868(data) { return fetch('/transmit868', { method: 'POST', @@ -818,41 +840,52 @@ function transmit915() { Swal.fire({ - title: 'Enter data to transmit:', - input: 'text', - inputAttributes: { - autocapitalize: 'off' - }, + title: 'Enter data to transmit and set interval:', + html: + '' + + '', + focusConfirm: false, showCancelButton: true, confirmButtonText: 'Submit', cancelButtonText: 'Cancel', - showLoaderOnConfirm: true, - preConfirm: (value) => { - return startTransmission915(value); // Call the function to start transmission - }, - allowOutsideClick: () => !Swal.isLoading() + preConfirm: () => { + const data = document.getElementById('swal-input1-915').value; + const interval = document.getElementById('swal-input2-915').value; + + if (!data || !interval) { + Swal.showValidationMessage('Please enter both data and interval'); + } else if (isNaN(interval) || interval < 1000) { + Swal.showValidationMessage('Please enter a valid interval (number >= 1000)'); + } else { + return { data: data, interval: interval }; + } + } }).then((result) => { - if (result.isConfirmed) { + if (result.isConfirmed && result.value) { + startTransmission915(result.value.data, result.value.interval); Swal.fire({ title: 'Transmission Started!', + html: `Data: ${result.value.data}
Interval: ${result.value.interval} milliseconds`, icon: 'success' }); } }); } + - function startTransmission915(data) { + function startTransmission915(data, interval) { if (transmitIntervalId915) { clearInterval(transmitIntervalId915); // Clear existing interval } transmitIntervalId915 = setInterval(() => { sendTransmissionData915(data); - }, 10000); // Transmit data every 10 seconds - + }, parseInt(interval)); + // Send the first transmission immediately - return sendTransmissionData915(data); + sendTransmissionData915(data); } + function sendTransmissionData915(data) {