Commit d2097dbd authored by AUTOMATIC1111's avatar AUTOMATIC1111

added onOptionsAvailable callback for javascript for

parent 99e65ec6
......@@ -299,6 +299,7 @@ onAfterUiUpdate(function() {
var jsdata = textarea.value;
opts = JSON.parse(jsdata);
executeCallbacks(optionsAvailableCallbacks); /*global optionsAvailableCallbacks*/
executeCallbacks(optionsChangedCallbacks); /*global optionsChangedCallbacks*/
Object.defineProperty(textarea, 'value', {
......
......@@ -29,6 +29,7 @@ var uiAfterUpdateCallbacks = [];
var uiLoadedCallbacks = [];
var uiTabChangeCallbacks = [];
var optionsChangedCallbacks = [];
var optionsAvailableCallbacks = [];
var uiAfterUpdateTimeout = null;
var uiCurrentTab = null;
......@@ -77,6 +78,20 @@ function onOptionsChanged(callback) {
optionsChangedCallbacks.push(callback);
}
/**
* Register callback to be called when the options (in opts global variable) are available.
* The callback receives no arguments.
* If you register the callback after the options are available, it's just immediately called.
*/
function onOptionsAvailable(callback) {
if (Object.keys(opts).length != 0) {
callback();
return;
}
optionsAvailableCallbacks.push(callback);
}
function executeCallbacks(queue, arg) {
for (const callback of queue) {
try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment