Home - Forums-.NET - FlyTreeView (ASP.NET) - Feature request: Check for selected node in context menu

FlyTreeView (ASP.NET)

Technical support and KB related to the FlyTreeView control

This forum related to following products: FlyTreeView for ASP.NET

Feature request: Check for selected node in context menu
Link Posted: 25-Mar-2007 21:36
Hello,
I'd like to add a feature request.
For my context menu items to work, they need a selected node. If no node is selected, then I use the following workaround: just show an alert, saying that the user needs to select a node, first and do nothing.
This works, but I don't like it. The best would be, that menu items have an additional property for enabling them, if a node (or better: a node type) is selected, only.
Please think about it and best regards,
rawaho
Link Posted: 25-Mar-2007 21:45
There's a way to enable/disable menu items through javascript.
You can see it in Demo_Office2003.aspx in HandleContextMenuPopup javascript function that defines Expand and Collapse state depending on context node state.

...


function HandleContextMenuPopup(sender, node, event) {
    var nodeContextMenuID = node.getContextMenuID();
    if (node.getContextMenuID().length == 0) return;
    
    var expandEnabled = node.getChildNodes().length > 0 && !node.getExpanded();
    var collapseEnabled = node.getChildNodes().length > 0 && node.getExpanded();
    
    var contextMenu = CFlyContextMenu.getInstanceById(\"\");
    var items = contextMenu.getItems();
    for(var i = 0; i < items.length; i++) {
        switch(items[i].getCommandName()) {
            case \"Expand\":
                items[i].setDisabled(!expandEnabled);
                break;
            case \"Collapse\":
                items[i].setDisabled(!collapseEnabled);
                break;
        }
    }
}


Same way you can test whether context node is selected and enable/disable required menu items.
Link Posted: 25-Mar-2007 21:49
Astonishing. Thanks...