44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import { SettingUtils } from './sn0w.js';
|
|
import { app } from "../../../scripts/app.js";
|
|
import { api } from '../../scripts/api.js';
|
|
|
|
function updateLoggingLevel() {
|
|
api.fetchApi("/logging_level", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify({ update: true }),
|
|
});
|
|
}
|
|
|
|
const debouncedUpdateLoggingLevel = SettingUtils.debounce(updateLoggingLevel, 1000);
|
|
|
|
const id = "sn0w.LoggingLevel";
|
|
const settingDefinition = {
|
|
id,
|
|
name: "[Sn0w] Logging Level",
|
|
type: SettingUtils.createCheckboxSetting,
|
|
defaultValue: ["WARNING", "INFORMATIONAL"],
|
|
onChange: debouncedUpdateLoggingLevel,
|
|
attrs: {
|
|
options: [
|
|
{ label: "Warnings", value: "WARNING" },
|
|
{ label: "Informational", value: "INFORMATIONAL" },
|
|
{ label: "Debug", value: "DEBUG" },
|
|
],
|
|
tooltip: ""
|
|
}
|
|
};
|
|
|
|
let setting;
|
|
|
|
const extension = {
|
|
name: id,
|
|
init() {
|
|
setting = app.ui.settings.addSetting(settingDefinition);
|
|
},
|
|
};
|
|
|
|
app.registerExtension(extension);
|