41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import { SettingUtils } from './sn0w.js';
|
|
import { app } from '../../../scripts/app.js';
|
|
import { api } from '../../../scripts/api.js';
|
|
|
|
async function updateLoggingLevel() {
|
|
await api.fetchApi(`${SettingUtils.API_PREFIX}/update_logging_level`, {
|
|
method: 'GET',
|
|
});
|
|
SettingUtils.logSn0w(`Logging levels selected:\n${await SettingUtils.getSetting("sn0w.LoggingLevel")}`, "debug")
|
|
}
|
|
|
|
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);
|