diff --git a/src/js/configEditor.js b/src/js/configEditor.js index 3fc33b9..fc9baed 100644 --- a/src/js/configEditor.js +++ b/src/js/configEditor.js @@ -63,22 +63,34 @@ class ConfigEditor extends Popup { this.addContent(span); if(data.excludes) { - const setEnabled=() => + const setEnabled=() => { input.disabled= data.excludes - .some(key => config.getB(key)) + .some(key => config.getB(key)); + input.title=input.disabled?`Disable ${data.excludes.join(',')} to enable`:''; + }; setEnabled(); data.excludes.forEach(key => { let c=config.watchB(key, setEnabled); this.watchers.push([key, c]); }); - } - if(data.parent) { - input.disabled=!config.getB(data.parent); - let c=config.watchB(data.parent, (k, v) => input.disabled=!v); + } else if(data.parent) { + const setEnabled=() => { + input.disabled=!config.getB(data.parent); + input.title=input.disabled?`Enable ${data.parent} to enable`:''; + }; + + setEnabled(); + let c=config.watchB(data.parent, setEnabled); this.watchers.push([data.parent, c]); } + if(data.needsBackend) { + if(window.serverless) { + input.disabled=true; + input.title="Needs backend"; + } + } } }