healthchecks_healthchecks/static/js/docs_cron.js

42 lines
1.3 KiB
JavaScript

$(function () {
var base = document.getElementById("base-url").getAttribute("href").slice(0, -1);
var tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
var currentPreviewHash = "";
function updateCronPreview() {
var schedule = $("#schedule").val();
// Don't try preview with empty values, or if values have not changed
if (!schedule || schedule == currentPreviewHash)
return;
// OK, we're good
currentPreviewHash = schedule;
$("#cron-preview-title").text("Updating...");
var token = $('input[name=csrfmiddlewaretoken]').val();
$.ajax({
url: base + "/checks/cron_preview/",
type: "post",
headers: {"X-CSRFToken": token},
data: {schedule: schedule, tz: tz},
success: function(data) {
if (schedule != currentPreviewHash) {
return; // ignore stale results
}
$("#cron-preview" ).html(data);
}
});
}
$("#common-cron-expressions button").click(function() {
var schedule = $(this).closest("tr").find("td:nth-child(2n)").text();
$("#schedule").val(schedule);
updateCronPreview();
});
$("#schedule").on("keyup", updateCronPreview);
updateCronPreview();
});