/** * Callback to select an item in a ListBox based on the Cells value. * @param factory Factory that can convert Cells' values to String. * @param cell The Cell to be rendered. * @return */ public static <T, W extends ListBox, E extends MultiValueDOMElement<T, W>, F extends MultiValueSingletonDOMElementFactory<T, W, E>> Consumer<E> makeOnCreationCallback(final F factory, final GridCell<T> cell, final Map<String, String> enumLookups) { return (e) -> { final W widget = e.getWidget(); if (widget.isMultipleSelect()) { widget.setVisibleItemCount(Math.min(MAX_VISIBLE_ROWS, enumLookups.size())); } for (Map.Entry<String, String> lookup : enumLookups.entrySet()) { widget.addItem(lookup.getValue(), lookup.getKey()); } factory.toWidget(cell, widget); }; }
/** * Callback to select an item in a ListBox based on the Cells value. * @param factory Factory that can convert Cells' values to String. * @param cell The Cell to be rendered. * @return */ public static <T, W extends ListBox, E extends MultiValueDOMElement<T, W>, F extends MultiValueSingletonDOMElementFactory<T, W, E>> Consumer<E> makeOnCreationCallback(final F factory, final GridCell<T> cell, final Map<String, String> enumLookups) { return (e) -> { final W widget = e.getWidget(); if (widget.isMultipleSelect()) { widget.setVisibleItemCount(Math.min(MAX_VISIBLE_ROWS, enumLookups.size())); } for (Map.Entry<String, String> lookup : enumLookups.entrySet()) { widget.addItem(lookup.getValue(), lookup.getKey()); } factory.toWidget(cell, widget); }; }
@Test @SuppressWarnings("unchecked") public void makeOnCreationCallbackListBoxSingleSelect() { setupMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS, false); final Consumer callback = ConsumerFactory.makeOnCreationCallback(factory, cell, enumLookups); callback.accept(multiValueDOMElement); verifyMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS); verify(multiValueWidget, never()).setVisibleItemCount(anyInt()); }
@Test @SuppressWarnings("unchecked") public void makeOnCreationCallbackListBoxMultipleSelect() { setupMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS, true); final Consumer callback = ConsumerFactory.makeOnCreationCallback(factory, cell, enumLookups); callback.accept(multiValueDOMElement); verifyMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS); verify(multiValueWidget).setVisibleItemCount(eq(ConsumerFactory.MAX_VISIBLE_ROWS)); }
@Test @SuppressWarnings("unchecked") public void makeOnCreationCallbackListBoxMultipleSelectMoreThanMaximum() { setupMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS + 1, true); final Consumer callback = ConsumerFactory.makeOnCreationCallback(factory, cell, enumLookups); callback.accept(multiValueDOMElement); verify(multiValueWidget).setVisibleItemCount(eq(ConsumerFactory.MAX_VISIBLE_ROWS)); verifyMultipleSelectTest(ConsumerFactory.MAX_VISIBLE_ROWS + 1); }
public WorkItemDefinitionElementsBrowser() { final Heading label = new Heading( HeadingSize.H4, WorkItemsEditorConstants.INSTANCE.BrowserTitle() ); label.getElement().getStyle().setTextAlign( Style.TextAlign.CENTER ); label.addStyleName( ColumnSize.MD_12.getCssName() ); container.add( new Row() {{ add( label ); }} ); container.add( new Row() {{ add( elements ); }} ); //Images container.add( new Row() {{ add( imagesList ); }} ); imagesList.setVisibleItemCount( 1 ); imagesList.setSelectedIndex( 0 ); imagesList.addChangeHandler( new ChangeHandler() { public void onChange( ChangeEvent event ) { elementSelected( imagesList.getItemText( imagesList.getSelectedIndex() ), imagesList.getValue( imagesList.getSelectedIndex() ) ); } } ); initWidget( container ); }
public WorkItemDefinitionElementsBrowser() { final Heading label = new Heading( HeadingSize.H4, WorkItemsEditorConstants.INSTANCE.BrowserTitle() ); label.getElement().getStyle().setTextAlign( Style.TextAlign.CENTER ); label.addStyleName( ColumnSize.MD_12.getCssName() ); container.add( new Row() {{ add( label ); }} ); container.add( new Row() {{ add( elements ); }} ); //Images container.add( new Row() {{ add( imagesList ); }} ); imagesList.setVisibleItemCount( 1 ); imagesList.setSelectedIndex( 0 ); imagesList.addChangeHandler( new ChangeHandler() { public void onChange( ChangeEvent event ) { elementSelected( imagesList.getItemText( imagesList.getSelectedIndex() ), imagesList.getValue( imagesList.getSelectedIndex() ) ); } } ); initWidget( container ); }
private Widget createStartPointWidget() { ListBox startPoint = new ListBox(); startPoint.addItem(GuidedRuleEditorResources.CONSTANTS.Choose(), ""); // TODO {baunax} uncomment when global collections is implemented. // for (String gc : getDataModelOracle().getGlobalCollections()) { // startPoint.addItem(gc, GLOBAL_COLLECTION_VALUE_PREFIX + "." + gc); // } for (String gv : getDataModelOracle().getGlobalVariables()) { startPoint.addItem(gv, GLOBAL_VARIABLE_VALUE_PREFIX + "." + gv); } for (String v : getRuleModel().getAllLHSVariables()) { startPoint.addItem(v, VARIABLE_VALUE_PREFIX + "." + v); } startPoint.setVisibleItemCount(1); startPoint.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { ListBox lb = (ListBox) event.getSource(); int index = lb.getSelectedIndex(); if (index > 0) { onStartPointChange(lb.getValue(index)); } } }); return startPoint; }
private Widget createStartPointWidget() { ListBox startPoint = new ListBox(); startPoint.addItem(GuidedRuleEditorResources.CONSTANTS.Choose(), ""); // TODO {baunax} uncomment when global collections is implemented. // for (String gc : getDataModelOracle().getGlobalCollections()) { // startPoint.addItem(gc, GLOBAL_COLLECTION_VALUE_PREFIX + "." + gc); // } for (String gv : getDataModelOracle().getGlobalVariables()) { startPoint.addItem(gv, GLOBAL_VARIABLE_VALUE_PREFIX + "." + gv); } for (String v : getRuleModel().getAllLHSVariables()) { startPoint.addItem(v, VARIABLE_VALUE_PREFIX + "." + v); } startPoint.setVisibleItemCount(1); startPoint.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { ListBox lb = (ListBox) event.getSource(); int index = lb.getSelectedIndex(); if (index > 0) { onStartPointChange(lb.getValue(index)); } } }); return startPoint; }