@Override public List<TYPE> getValue() { return selectionHandler.getSelectedValues(); }
@Override public void setValue(List<TYPE> values, boolean fireEvents) { if (values != null) { if(values instanceof BindableListWrapper) { values = ((BindableListWrapper<TYPE>)values).deepUnwrap(); } if (!selectionHandler.getSelectedValues().equals(values)) { selector.clearSelection(); values.stream().forEach(value -> selector.setSelectedItem(value)); } if (fireEvents) { ValueChangeEvent.fire(this, values); } } }
public void init(LiveSearchService<TYPE> searchService, MultipleLiveSearchSelectionHandler<TYPE> searchSelectionHandler) { this.searchService = searchService; this.selectionHandler = searchSelectionHandler; selector.init(searchService, selectionHandler); selector.setOnChange(() -> setValue(selectionHandler.getSelectedValues(), true)); }
private void checkHandlerSelectedValue(String value) { if (value != null) { assertTrue(handler.getSelectedValues().contains(value)); } else { assertTrue(handler.getSelectedValues().isEmpty()); } } }
@Test public void testSelectItem() { doTestSelectItem(); assertEquals(1, handler.getSelectedValues().size()); assertEquals(SELECTED_ITEM_TEXT, handler.getDropDownMenuHeader()); }
verify(callback).execute(); checkHandlerSelectedValue("a"); assertEquals(1, handler.getSelectedValues().size()); assertEquals("a", handler.getDropDownMenuHeader()); verify(callback, times(2)).execute(); checkHandlerSelectedValue("b"); assertEquals(2, handler.getSelectedValues().size()); assertEquals("a & b", handler.getDropDownMenuHeader()); verify(callback, times(3)).execute(); checkHandlerSelectedValue("c"); assertEquals(3, handler.getSelectedValues().size()); assertEquals("a, b & c", handler.getDropDownMenuHeader()); verify(callback, times(4)).execute(); checkHandlerSelectedValue("d"); assertEquals(4, handler.getSelectedValues().size()); assertEquals("liveSearchElementsSelected(4)", handler.getDropDownMenuHeader()); verify(firstItem).reset(); verify(callback, times(5)).execute(); assertEquals(3, handler.getSelectedValues().size()); assertEquals("b, c & d", handler.getDropDownMenuHeader()); verify(secondItem).reset(); verify(callback, times(6)).execute(); assertEquals(2, handler.getSelectedValues().size()); assertEquals("c & d", handler.getDropDownMenuHeader());
@Test public void testClearSelection() { // Register Items LiveSearchSelectorItem firstItem = createItem("a"); handler.registerItem(firstItem); LiveSearchSelectorItem secondItem = createItem("b"); handler.registerItem(secondItem); LiveSearchSelectorItem thirdItem = createItem("c"); handler.registerItem(thirdItem); LiveSearchSelectorItem fourthItem = createItem("d"); handler.registerItem(fourthItem); handler.selectKey("a"); handler.selectKey("b"); handler.selectKey("c"); handler.selectKey("d"); assertEquals(4, handler.getSelectedValues().size()); assertEquals("a, b, c & d", handler.getDropDownMenuHeader()); handler.clearSelection(); assertEquals(0, handler.getSelectedValues().size()); assertEquals(null, handler.getDropDownMenuHeader()); }