Ext JS has plenty of components. There are main categories, quite familiar to many people like buttons and less-expected descendants such as split buttons. Split button is a creature that hides a menu – when user clicks an “arrow part” of split button, the menu is revealed. To handle such things, I provided two handy methods: hideMenu and showMenu. Their names are taken from ExtJS’ splitbutton API.

Interested in good code and even better tests? Check out my upcoming book on the architecture - Implementing the Clean Architecture.

Exemplary usage:

  1. Getting menu under splitbutton is quite straightforward, there is nothing surprising here
  2. Initially, menu should be hidden
  3. After showing menu it becomes visible
  4. Hiding menu results in it being no longer visible, but its items (xtpye: menuitem) are still visible according to isVisible predicate! Surprising… feature of Ext JS.

Commit with changes: here