When selected items are deleted the Node commands still behave as if the selection exists. Code below shows how to check for a valid selection before using it.
// Execute
// Called to execute the command
function Execute(params)
{
if(!IsValidSelection(Node.Selection())) return;
System.Trace("selection is good");
}
function IsValidSelection(selection)
{
if(!selection) return false;
var reWhiteSpace = /^\s/; // whitespace in first character
var selectionArray = selection.split(";");
for(var i = 0; i < selectionArray.length; i++) {
var selClean = selectionArray[i].replace(reWhiteSpace, "");
if(!Node.Exists(selClean)) {
return false;
}
}
return true;
}