// global variables. var gNixOS; var gOptionView; /* var gProgressBar; function setProgress(current, max) { if (gProgressBar) { gProgressBar.value = 100 * current / max; log("progress: " + gProgressBar.value + "%"); } else log("unknow progress bar"); } */ function updateTextbox(id, value) { // setting the height cause an overflow which resize the textbox to its // content due to its onoverflow attribute. $(id).attr("value", value).attr("height", 1); }; function updatePanel(options) { log("updatePanel: " + options.length); if (options.length == 0) return; // FIXME: ignore the rest of the selection for now. var o = options[0]; $("#name").attr("label", o.path); if (o.typename != null) $("#typename").attr("label", o.typename); else $("#typename").attr("label", ""); $("#desc").text(o.description); if (o.value != null) updateTextbox("#val", o.value); else updateTextbox("#val", ""); if (o.defaultValue != null) updateTextbox("#def", o.defaultValue); else updateTextbox("#def", ""); if (o.example != null) updateTextbox("#exp", o.example); else updateTextbox("#exp", ""); updateTextbox("#decls", o.declarations.join("\n")); updateTextbox("#defs", o.definitions.join("\n")); } function onload() { var optionTree = document.getElementById("option-tree"); // gProgressBar = document.getElementById("progress-bar"); // setProgress(0, 1); gNixOS = new NixOS(); gOptionView = new OptionView(gNixOS.option, updatePanel); optionTree.view = gOptionView; }