mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-02-06 13:40:06 +00:00
前端更新: 支持报警规则绑定触发任务
This commit is contained in:
@@ -70,6 +70,7 @@ function showFormModal(modelSelector, formID, URL, getData) {
|
||||
item.name === "RequestType" ||
|
||||
item.name === "RequestMethod" ||
|
||||
item.name === "TriggerMode" ||
|
||||
item.name === "TaskType" ||
|
||||
item.name === "DisplayIndex" ||
|
||||
item.name === "Type" ||
|
||||
item.name === "Cover" ||
|
||||
@@ -90,6 +91,16 @@ function showFormModal(modelSelector, formID, URL, getData) {
|
||||
}
|
||||
}
|
||||
|
||||
if (item.name.endsWith("TasksRaw")) {
|
||||
if (item.value.length > 2) {
|
||||
obj[item.name] = JSON.stringify(
|
||||
[...item.value.matchAll(/\d+/gm)].map((k) =>
|
||||
parseInt(k[0])
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}, {});
|
||||
$.post(URL, JSON.stringify(data))
|
||||
@@ -138,6 +149,44 @@ function addOrEditAlertRule(rule) {
|
||||
} else {
|
||||
modal.find(".ui.rule-enable.checkbox").checkbox("set unchecked");
|
||||
}
|
||||
modal.find("a.ui.label.visible").each((i, el) => {
|
||||
el.remove();
|
||||
});
|
||||
var failTriggerTasks;
|
||||
var recoverTriggerTasks;
|
||||
if (rule) {
|
||||
failTriggerTasks = rule.FailTriggerTasksRaw;
|
||||
recoverTriggerTasks = rule.RecoverTriggerTasksRaw;
|
||||
const failTriggerTasksList = JSON.parse(failTriggerTasks || "[]");
|
||||
const recoverTriggerTasksList = JSON.parse(recoverTriggerTasks || "[]");
|
||||
const node1 = modal.find("i.dropdown.icon.1");
|
||||
const node2 = modal.find("i.dropdown.icon.2");
|
||||
for (let i = 0; i < failTriggerTasksList.length; i++) {
|
||||
node1.after(
|
||||
'<a class="ui label transition visible" data-value="' +
|
||||
failTriggerTasksList[i] +
|
||||
'" style="display: inline-block !important;">ID:' +
|
||||
failTriggerTasksList[i] +
|
||||
'<i class="delete icon"></i></a>'
|
||||
);
|
||||
}
|
||||
for (let i = 0; i < recoverTriggerTasksList.length; i++) {
|
||||
node2.after(
|
||||
'<a class="ui label transition visible" data-value="' +
|
||||
recoverTriggerTasksList[i] +
|
||||
'" style="display: inline-block !important;">ID:' +
|
||||
recoverTriggerTasksList[i] +
|
||||
'<i class="delete icon"></i></a>'
|
||||
);
|
||||
}
|
||||
}
|
||||
modal
|
||||
.find("input[name=FailTriggerTasksRaw]")
|
||||
.val(rule ? "[]," + failTriggerTasks.substr(1, failTriggerTasks.length - 2) : "[]");
|
||||
modal
|
||||
.find("input[name=RecoverTriggerTasksRaw]")
|
||||
.val(rule ? "[]," + recoverTriggerTasks.substr(1, recoverTriggerTasks.length - 2) : "[]");
|
||||
|
||||
showFormModal(".rule.modal", "#ruleForm", "/api/alert-rule");
|
||||
}
|
||||
|
||||
@@ -298,6 +347,8 @@ function addOrEditCron(cron) {
|
||||
);
|
||||
modal.find("input[name=ID]").val(cron ? cron.ID : null);
|
||||
modal.find("input[name=Name]").val(cron ? cron.Name : null);
|
||||
modal.find("select[name=TaskType]").val(cron ? cron.TaskType : 0);
|
||||
modal.find("select[name=Cover]").val(cron ? cron.Cover : 0);
|
||||
modal.find("input[name=NotificationTag]").val(cron ? cron.NotificationTag : null);
|
||||
modal.find("input[name=Scheduler]").val(cron ? cron.Scheduler : null);
|
||||
modal.find("a.ui.label.visible").each((i, el) => {
|
||||
@@ -435,3 +486,15 @@ $(document).ready(() => {
|
||||
});
|
||||
} catch (error) { }
|
||||
});
|
||||
|
||||
$(document).ready(() => {
|
||||
try {
|
||||
$(".ui.tasks.search.dropdown").dropdown({
|
||||
clearable: true,
|
||||
apiSettings: {
|
||||
url: "/api/search-tasks?word={query}",
|
||||
cache: false,
|
||||
},
|
||||
});
|
||||
} catch (error) { }
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user