package org.dashbuilder.common.client.editor.list; import org.dashbuilder.common.client.editor.HasEditMode; import org.dashbuilder.common.client.event.ValueChangeEvent; import javax.enterprise.context.Dependent; import javax.enterprise.event.Event; import javax.inject.Inject; /** * <p>Images are shown using a drop down selector.</p> * * @param <T> The edited type. * * @since 0.4.0 */ @Dependent public class DropDownImageListEditor<T> extends ImageListEditor<T> implements HasEditMode { boolean isEditMode = true; public interface View<T> extends ImageListEditorView<T> { void setDropDown(boolean isDropDown); } @Inject public DropDownImageListEditor(DropDownImageListEditorView<T> dropDownImageListEditorView, Event<ValueChangeEvent<T>> valueChangeEvent) { super(dropDownImageListEditorView, valueChangeEvent); } protected DropDownImageListEditor(ImageListEditorView<T> imageListEditorView, Event<ValueChangeEvent<T>> valueChangeEvent) { super(imageListEditorView, valueChangeEvent); } @Override public void isEditMode(final boolean isEdit) { this.isEditMode = isEdit; showElements(); } @Override protected void showElements() { super.showElements(); ((DropDownImageListEditor.View<T>)view).setDropDown(isEditMode && entries != null && entries.size() > 1); } }