71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// 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;
 | 
						|
}
 |