diff --git a/ui/index.html b/ui/index.html index 3e85b254..a6daaa5a 100644 --- a/ui/index.html +++ b/ui/index.html @@ -346,8 +346,8 @@ async function init() { await getModels() await getDiskPath() await getAppConfig() - await loadModifiers() await loadUIPlugins() + await loadModifiers() await getDevices() setInterval(healthCheck, HEALTH_PING_INTERVAL * 1000) diff --git a/ui/media/js/image-modifiers.js b/ui/media/js/image-modifiers.js index 24347fc4..2bca80a8 100644 --- a/ui/media/js/image-modifiers.js +++ b/ui/media/js/image-modifiers.js @@ -310,31 +310,7 @@ function saveCustomModifiers() { } function loadCustomModifiers() { - let customModifiers = localStorage.getItem(CUSTOM_MODIFIERS_KEY, '') - customModifiersTextBox.value = customModifiers - - if (customModifiersGroupElement !== undefined) { - customModifiersGroupElement.remove() - } - - if (customModifiers && customModifiers.trim() !== '') { - customModifiers = customModifiers.split('\n') - customModifiers = customModifiers.filter(m => m.trim() !== '') - customModifiers = customModifiers.map(function(m) { - return { - "modifier": m - } - }) - - let customGroup = { - 'category': 'Custom Modifiers', - 'modifiers': customModifiers - } - - customModifiersGroupElement = createModifierGroup(customGroup, true) - - createCollapsibles(customModifiersGroupElement) - } + PLUGINS['MODIFIERS_LOAD'].forEach(fn=>fn.loader.call()) } customModifiersTextBox.addEventListener('change', saveCustomModifiers) diff --git a/ui/media/js/plugins.js b/ui/media/js/plugins.js index 6471e8cb..c370aa03 100644 --- a/ui/media/js/plugins.js +++ b/ui/media/js/plugins.js @@ -24,7 +24,8 @@ const PLUGINS = { * } * }) */ - IMAGE_INFO_BUTTONS: [] + IMAGE_INFO_BUTTONS: [], + MODIFIERS_LOAD: [] } async function loadUIPlugins() { diff --git a/ui/plugins/ui/custom-modifiers.plugin.js b/ui/plugins/ui/custom-modifiers.plugin.js new file mode 100644 index 00000000..632f8c4a --- /dev/null +++ b/ui/plugins/ui/custom-modifiers.plugin.js @@ -0,0 +1,33 @@ +(function() { + PLUGINS['MODIFIERS_LOAD'] = [] + + PLUGINS['MODIFIERS_LOAD'].push({ + loader: function() { + let customModifiers = localStorage.getItem(CUSTOM_MODIFIERS_KEY, '') + customModifiersTextBox.value = customModifiers + + if (customModifiersGroupElement !== undefined) { + customModifiersGroupElement.remove() + } + + if (customModifiers && customModifiers.trim() !== '') { + customModifiers = customModifiers.split('\n') + customModifiers = customModifiers.filter(m => m.trim() !== '') + customModifiers = customModifiers.map(function(m) { + return { + "modifier": m + } + }) + + let customGroup = { + 'category': 'Custom Modifiers', + 'modifiers': customModifiers + } + + customModifiersGroupElement = createModifierGroup(customGroup, true) + + createCollapsibles(customModifiersGroupElement) + } + } + }) +})() \ No newline at end of file