selectsheet.htm

来自「Windows Web脚本开发指南/(美) Dan Heflin, Todd N」· HTM 代码 · 共 113 行

HTM
113
字号
<html xmlns:commonSource>
<head>
<Title id="docTitle">Select Existing Timesheet</Title>
</head>
<script language="JavaScript">
var activeSheet = null;
var actionType = window.dialogArguments;
function initialize(){
  var category;
  var items = "";
 
  cmdAction.value = actionType;
  timesheets.async = false;
  timesheets.load("timeSheetList.xml");  
  if (timesheets.xml == ""){
    alert("You have not built any timesheets yet.");
    window.close();
    return;
  }
  if (actionType == "Open"){
    var category = timesheets.selectSingleNode("//Completed");
    if (category.childNodes.length > 0)
      items = "<li category='Completed' level='category' onClick=handleClick()>Completed Timesheets</li>"; 
  }
  var category = timesheets.selectSingleNode("//Open");
  if (category.childNodes.length > 0 )
    items += "<li category='Open' level='category' onClick=handleClick()>Open Timesheets</li>"; 
  if (items == ""){
    if (actionType == "Open")
      alert("You have not built any timesheets yet.");
    else
      alert("There are no open timesheets to delete.");
    window.close();
    return;
  }
  else{
    root.innerHTML = items;
    xslOpen.async = false;
    xslOpen.load("selectSheet.xsl");
  }
}
function handleClick(){
  var source = event.srcElement;
  switch (source.level){
    case "category":
      if (source.children.length > 0){
        source.innerHTML = source.category + " Timesheets";
        activeSheet = null;
      }
      else{
        var xslNode = xslOpen.selectSingleNode("//xsl:template");       
        var xmlNode = timesheets.selectSingleNode("//" + source.category);
        var timesheetHTML = xmlNode.transformNode(xslNode);
        source.innerHTML = source.category + " Timesheets" +  timesheetHTML;
        
      }
      break;
    default:
      cmdAction.disabled = false;
      if (activeSheet != null)
        activeSheet.style.backgroundColor = "white";
      activeSheet = source;
      source.style.backgroundColor = "lightblue";
      treeContainer.displayed = false;
      treeContainer.displayed = true;
      break;
  }
  event.cancelBubble = true;
}
function handleAction(){
  if (actionType == "Open")
    openSheet();
  else
    deleteSheet();
}
function openSheet(){
  if (activeSheet == null)
    alert("You must select a timesheet.");
  else{
    var dataPath = common.getDataPath();
    window.returnValue = dataPath + activeSheet.id;
    window.close();	 
  }
}
function deleteSheet(){
  var message = "Are you sure you wish to delete this timesheet?";
  if (confirm(message)){
    file = activeSheet.id;
    common.deleteXMLDocument(file);
    var openNode = timesheets.selectSingleNode("//Open");    
    var selected = timesheets.selectSingleNode("//timeSheet[@file='" + file + "']");
    openNode.removeChild(selected);
    var dataPath = common.getDataPath();
    common.saveXMLDocument(timesheets, dataPath + "timeSheetList.xml");           
    window.returnValue = dataPath + activeSheet.id;
    window.close();	
  }
}
function closeSheet(){
  window.close();
}
</script>
<xml ID="timesheets"></xml>
<xml ID="xslOpen"></xml>
<commonSource:source ID="common" STYLE="behavior:url(commonSource.htc)" />
<body onLoad="initialize()">
<span ID="treeContainer" onmouseover="this.style.cursor='hand';" style="height:250;overflow:scroll;width:304">
<ul ID="root">
</ul>
</span>
<p align="center"><input id="cmdAction" type="button" onClick="handleAction()" disabled="true">&nbsp;<input type="button" onClick="closeSheet()" value="Cancel"></p>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?