/** * Create a ListEditor backed by an EditorSource. * * @param <T> The type of data being managed * @param <E> The type of Editor * @param source the EditorSource which will create sub-Editors * @return a new instance of ListEditor */ public static <T, E extends Editor<? super T>> ListEditor<T, E> of( EditorSource<E> source) { return new ListEditor<T, E>(source); }
/************************************************************* ** GWT EDITOR CONTRACT METHODS ** *************************************************************/ @Override public DataColumnDefEditor createEditorForTraversal() { return listEditor.createEditorForTraversal(); }
@Override public void flush() { listEditor.flush(); }
@Test public void testSetEditorChain() { final CompositeEditor.EditorChain<DataColumnDef, org.dashbuilder.dataset.client.editor.DataColumnDefEditor> chain = mock(CompositeEditor.EditorChain.class); presenter.setEditorChain(chain); verify(listEditor, times(1)).setEditorChain(chain); verify(listEditor, times(0)).createEditorForTraversal(); verify(listEditor, times(0)).getPathElement(any(DataColumnDefEditor.class)); verify(listEditor, times(0)).setDelegate(any(EditorDelegate.class)); verify(listEditor, times(0)).flush(); verify(listEditor, times(0)).onPropertyChange(anyString()); verify(listEditor, times(0)).setValue(any(List.class)); }
/** * Checks that if only single column used in data set -> it cannot be unselected. */ private boolean checkSingleColumnEditorDisabled() { final int size = listEditor.getList().size(); final boolean hasEditors = !listEditor.getEditors().isEmpty(); if (size == 1 && hasEditors) { setEditorEnabled(0 ,false, DataSetEditorConstants.INSTANCE.dataSetMustHaveAtLeastOneColumn()); return true; } return false; }
/************************************************************* ** VIEW CALLBACK METHODS ** *************************************************************/ void onColumnSelect(final int index, final boolean selected) { final DataColumnDef columnDef = acceptableColumns.get(index); if (selected) { listEditor.getList().add(columnDef.clone()); } else { listEditor.getList().remove(columnDef); } columnsChangedEvent.fire(new ColumnsChangedEvent(this, listEditor.getList())); }
private void setEditorEnabled(final int index, final boolean enabled, final String altText) { final org.dashbuilder.client.widgets.dataset.editor.column.DataColumnDefEditor _e = (org.dashbuilder.client.widgets.dataset.editor.column.DataColumnDefEditor) listEditor.getEditors().get(index); if (_e != null) { setEditorEnabled(_e, enabled, altText); } }
@Override public void setEditorChain(final EditorChain<DataColumnDef, DataColumnDefEditor> chain) { listEditor.setEditorChain(chain); }
@Override public void setValue(final List<DataColumnDef> value) { listEditor.setValue(value); }
@Override public String getPathElement(final DataColumnDefEditor subEditor) { return listEditor.getPathElement(subEditor); }
@Override public void setDelegate(final EditorDelegate<List<DataColumnDef>> delegate) { listEditor.setDelegate(delegate); }
@Override public void onPropertyChange(final String... paths) { listEditor.onPropertyChange(paths); }
@Test public void testOnPropertyChange() { final String s = "prop1"; presenter.onPropertyChange(s); verify(listEditor, times(1)).onPropertyChange(s); verify(listEditor, times(0)).createEditorForTraversal(); verify(listEditor, times(0)).getPathElement(any(DataColumnDefEditor.class)); verify(listEditor, times(0)).setEditorChain(any(CompositeEditor.EditorChain.class)); verify(listEditor, times(0)).setDelegate(any(EditorDelegate.class)); verify(listEditor, times(0)).flush(); verify(listEditor, times(0)).setValue(any(List.class)); }
/** * Checks that if only single column used in data set -> it cannot be unselected. */ private boolean checkSingleColumnEditorDisabled() { final int size = listEditor.getList().size(); final boolean hasEditors = !listEditor.getEditors().isEmpty(); if (size == 1 && hasEditors) { setEditorEnabled(0 ,false, DataSetEditorConstants.INSTANCE.dataSetMustHaveAtLeastOneColumn()); return true; } return false; }
/************************************************************* ** VIEW CALLBACK METHODS ** *************************************************************/ void onColumnSelect(final int index, final boolean selected) { final DataColumnDef columnDef = acceptableColumns.get(index); if (selected) { listEditor.getList().add(columnDef.clone()); } else { listEditor.getList().remove(columnDef); } columnsChangedEvent.fire(new ColumnsChangedEvent(this, listEditor.getList())); }
private void setEditorEnabled(final int index, final boolean enabled, final String altText) { final org.dashbuilder.client.widgets.dataset.editor.column.DataColumnDefEditor _e = (org.dashbuilder.client.widgets.dataset.editor.column.DataColumnDefEditor) listEditor.getEditors().get(index); if (_e != null) { setEditorEnabled(_e, enabled, altText); } }
@Override public void setEditorChain(final EditorChain<DataColumnDef, DataColumnDefEditor> chain) { listEditor.setEditorChain(chain); }
@Override public void setValue(final List<DataColumnDef> value) { listEditor.setValue(value); }
@Override public String getPathElement(final DataColumnDefEditor subEditor) { return listEditor.getPathElement(subEditor); }
@Override public void setDelegate(final EditorDelegate<List<DataColumnDef>> delegate) { listEditor.setDelegate(delegate); }