Skip to content
This repository has been archived by the owner on Jan 16, 2023. It is now read-only.

Unable to set node active state separately from toggling #33

Open
jwbay opened this issue May 26, 2016 · 4 comments
Open

Unable to set node active state separately from toggling #33

jwbay opened this issue May 26, 2016 · 4 comments

Comments

@jwbay
Copy link

jwbay commented May 26, 2016

For a folder selection treeview, we need to be able to split 'selecting' a node from expanding/collapsing it. I got 95% of the way there by implementing a Container decorator that composes Header and Toggle, but I hit a brick wall because of this:

    renderHeader(decorators, animations){
        return (
            <NodeHeader
                ...
                node={Object.assign({}, this.props.node)}
                ...
            />
        );
    }

The NodeHeader doesn't get a handle on the node object proper, presumably to prevent mutations, but that means my Header decorator can't set node.active. It looks like changing the node can only be done via calling through to onClick, which calls through to onToggle with no way to represent that it should actually select instead of toggling.

@riquito
Copy link

riquito commented May 30, 2016

If you're interested I fixed it in a forked branch, it's one commit so far. I didn't look into the required tests, but it's a start.

@hannupekka
Copy link

This would be a neat feature @alexcurtis

@goodmorninggoaway
Copy link

PR: #51

@cdtinney
Copy link

You can solve this with the existing library via a custom Header that sets an onClick handler on the expand/collapse icon and stops the event from propagating to onToggle via event.stopPropogation().

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

5 participants