0

I have a treeview and problem of sharing the same button for two functionalities. The nodes that have children traditionally will be clicked and its subtree will be open, but I also need a way to make the node itself clickable not to open the children, but to open a form. In this case, the node is both a parent node and an item. The form will open over the treeview, like a modal.

I am trying to decide how to make that a good UX experience for the user. So far I've got two options:

  1. Single-click to open the subtree and double-click to open the form (select the parent node). Oh, both the > icon and the text are part of the same button.

  2. Remove the arrow (indicator that it has children) and replace it by a + button to indicate to the user he should click it to open the tree, and click the word to open the form. In this case, I'd need two buttons side by side.

enter image description here

Here's what option 2 would look like:

enter image description here

I am open to new ideas.

3
  • Why is the logical option of an icon plus an underlined link ruled out? > <u>link</u> Commented Apr 16 at 20:19
  • @Danielillo, well, it's not a link, just a button. Commented Apr 16 at 20:53
  • You can look at Reddit's thread structure and it has 3 click functions. You can apply the same here. Commented Apr 17 at 12:11

1 Answer 1

1

Split button

enter image description here

A split button is a button with two components: a label and an arrow; clicking on the label selects a default action, and clicking on the arrow opens up a list of other possible actions.

Source

In the case of the question, the body of the button opens the form and the dropdown works as usual.

Edit after the comment

There is a real example with the drop-down button on the left in Google Docs.

enter image description here

2
  • Any problem if the dropdown button is on the other side, in the case of the treeview? Commented Apr 16 at 23:44
  • 1
    Answer updated.- Commented Apr 17 at 21:33

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.