Skip to content
Snippets Groups Projects
Commit 37ca30e4 authored by buczekp's avatar buczekp
Browse files

[LMS-1982] fix & refactoring

SVN: 19350
parent f8b8ff33
No related branches found
No related tags found
No related merge requests found
......@@ -30,7 +30,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionUI;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.GridCustomColumnDefinition;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnDefsAndConfigs;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.MultilineHTML;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
......@@ -49,8 +48,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person;
public class BaseEntityModel<T> extends SimplifiedBaseModelData
{
private static final long serialVersionUID = 1L;
public static <T> BaseEntityModel<T> create(GridRowModel<T> entity, List<IColumnDefinitionUI<T>> columnDefinitions)
public static <T> BaseEntityModel<T> create(GridRowModel<T> entity,
List<IColumnDefinitionUI<T>> columnDefinitions)
{
return null;
}
......@@ -67,7 +67,7 @@ public class BaseEntityModel<T> extends SimplifiedBaseModelData
{
this(entity, columnDefinitions, false);
}
public BaseEntityModel(final GridRowModel<T> entity,
List<? extends IColumnDefinition<T>> columnDefinitions, boolean ignoreCustomColumns)
{
......@@ -108,18 +108,12 @@ public class BaseEntityModel<T> extends SimplifiedBaseModelData
return get(ModelDataPropertyNames.link(columnId));
}
/** render specified column as a link (using div) */
public void renderAsLink(String columnId)
{
String value = this.get(columnId);
if (value.length() > 0)
{// only for not null value
value = LinkRenderer.renderAsLink(value);
}
this.set(columnId, value);
}
/** render specified column as a link with anchor */
/**
* render specified column as a link with anchor
*
* @deprecated use cell renderer configured in AbstractBrowser.createColumnDefinitions() instead
*/
@Deprecated
public void renderAsLinkWithAnchor(String columnId)
{
String value = this.get(columnId);
......@@ -130,17 +124,6 @@ public class BaseEntityModel<T> extends SimplifiedBaseModelData
this.set(columnId, value);
}
/** render specified column as a multiline string with a tooltip (no word wrapping available) */
public void renderAsMultilineStringWithTooltip(String columnId)
{
String value = this.get(columnId);
if (value.length() > 0)
{// only for not null value
value = new MultilineHTML(value).toString();
}
this.set(columnId, value);
}
// TODO 2010-05-18, IA: unify renderers and remove code below
// ugly, ugly, ugly!
protected String renderColumnValue(final GridRowModel<T> entity, IColumnDefinition<T> column)
......
......@@ -65,6 +65,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.Abstrac
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.ColumnConfigFactory;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.AttachmentColDefKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.EntityTypeColDefKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.DescriptionField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.file.AttachmentFileUploadField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.AbstractSimpleBrowserGrid;
......@@ -123,7 +124,8 @@ public class AttachmentBrowser extends AbstractSimpleBrowserGrid<AttachmentVersi
attachmentFileUploadField = new AttachmentFileUploadField(viewContext);
attachmentFileUploadField.addFieldsTo(form, sessionKey, viewContext);
AbstractRegistrationForm.addFileUploadFeature(form, Arrays.asList(sessionKey));
form.addListener(Events.Submit, new FormPanelListener(PopupDialogBasedInfoHandler.INSTANCE)
form.addListener(Events.Submit, new FormPanelListener(
PopupDialogBasedInfoHandler.INSTANCE)
{
@Override
protected void setUploadEnabled()
......@@ -222,6 +224,8 @@ public class AttachmentBrowser extends AbstractSimpleBrowserGrid<AttachmentVersi
ColumnDefsAndConfigs<AttachmentVersions> schema = super.createColumnsDefinition();
schema.setGridCellRendererFor(AttachmentColDefKind.PERMLINK.id(),
LinkRenderer.createExternalLinkRenderer(viewContext.getMessage(Dict.PERMLINK)));
schema.setGridCellRendererFor(EntityTypeColDefKind.DESCRIPTION.id(),
createMultilineStringCellRenderer());
return schema;
}
......@@ -428,7 +432,6 @@ public class AttachmentBrowser extends AbstractSimpleBrowserGrid<AttachmentVersi
{
BaseEntityModel<AttachmentVersions> model = super.createModel(entity);
model.renderAsLinkWithAnchor(AttachmentColDefKind.FILE_NAME.id());
model.renderAsMultilineStringWithTooltip(AttachmentColDefKind.DESCRIPTION.id());
renderVersionAsLink(model);
return model;
}
......
......@@ -43,11 +43,13 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.
import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.EntityTypeColDefKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeAssignmentColDefKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.CheckBoxField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.PropertyFieldFactory;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ScriptChooserField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.AbstractSimpleBrowserGrid;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnDefsAndConfigs;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IBrowserGridActionInvoker;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.AbstractRegistrationDialog;
......@@ -57,7 +59,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDele
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria;
import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
......@@ -451,12 +452,12 @@ public class PropertyTypeAssignmentGrid extends
}
@Override
protected BaseEntityModel<EntityTypePropertyType<?>> createModel(
GridRowModel<EntityTypePropertyType<?>> entity)
protected ColumnDefsAndConfigs<EntityTypePropertyType<?>> createColumnsDefinition()
{
BaseEntityModel<EntityTypePropertyType<?>> model = super.createModel(entity);
model.renderAsMultilineStringWithTooltip(PropertyTypeAssignmentColDefKind.DESCRIPTION.id());
return model;
ColumnDefsAndConfigs<EntityTypePropertyType<?>> schema = super.createColumnsDefinition();
schema.setGridCellRendererFor(EntityTypeColDefKind.DESCRIPTION.id(),
createMultilineStringCellRenderer());
return schema;
}
@Override
......
......@@ -28,6 +28,7 @@ import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.Window;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
import com.google.gwt.user.client.rpc.AsyncCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
......@@ -39,12 +40,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.PropertyTypeModel;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.specific.PropertyTypeColDefKind;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.DescriptionField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.XmlField;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.AbstractSimpleBrowserGrid;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnDefsAndConfigs;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IBrowserGridActionInvoker;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.AbstractRegistrationDialog;
......@@ -53,12 +54,11 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.lang.
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria;
import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
/**
* Grid displaying property types.
......@@ -243,13 +243,17 @@ public class PropertyTypeGrid extends AbstractSimpleBrowserGrid<PropertyType>
}
@Override
protected PropertyTypeModel createModel(GridRowModel<PropertyType> entity)
protected ColumnDefsAndConfigs<PropertyType> createColumnsDefinition()
{
PropertyTypeModel model = new PropertyTypeModel(entity, getStaticColumnsDefinition());
model.renderAsMultilineStringWithTooltip(PropertyTypeColDefKind.DESCRIPTION.id());
model.renderAsMultilineStringWithTooltip(PropertyTypeColDefKind.SCHEMA.id());
model.renderAsMultilineStringWithTooltip(PropertyTypeColDefKind.TRANSFORMATION.id());
return model;
ColumnDefsAndConfigs<PropertyType> schema = super.createColumnsDefinition();
GridCellRenderer<BaseEntityModel<?>> multilineCellRenderer =
createMultilineStringCellRenderer();
schema.setGridCellRendererFor(PropertyTypeColDefKind.DESCRIPTION.id(),
multilineCellRenderer);
schema.setGridCellRendererFor(PropertyTypeColDefKind.SCHEMA.id(), multilineCellRenderer);
schema.setGridCellRendererFor(PropertyTypeColDefKind.TRANSFORMATION.id(),
multilineCellRenderer);
return schema;
}
@Override
......
......@@ -72,7 +72,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.lang.
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet;
import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel;
import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
......@@ -129,33 +128,26 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
private VocabularyTermGrid(IViewContext<ICommonClientServiceAsync> viewContext,
Vocabulary vocabulary)
{
super(viewContext, createBrowserId(vocabulary), true,
super(viewContext, createBrowserId(vocabulary), true,
DisplayTypeIDGenerator.VOCABULARY_TERMS_GRID);
this.vocabulary = vocabulary;
this.postRegistrationCallback = createRefreshGridAction();
extendBottomToolbar();
}
@Override
protected ColumnDefsAndConfigs<TableModelRowWithObject<VocabularyTermWithStats>> createColumnsDefinition()
{
ColumnDefsAndConfigs<TableModelRowWithObject<VocabularyTermWithStats>> definitions =
super.createColumnsDefinition();
definitions.setGridCellRendererFor(VocabularyTermGridIDs.URL, LinkRenderer
.createExternalLinkRenderer());
definitions.setGridCellRendererFor(VocabularyTermGridIDs.URL,
LinkRenderer.createExternalLinkRenderer());
definitions.setGridCellRendererFor(VocabularyTermGridIDs.DESCRIPTION,
createMultilineStringCellRenderer());
return definitions;
}
@Override
protected BaseEntityModel<TableModelRowWithObject<VocabularyTermWithStats>> createModel(
GridRowModel<TableModelRowWithObject<VocabularyTermWithStats>> entity)
{
BaseEntityModel<TableModelRowWithObject<VocabularyTermWithStats>> model = super.createModel(entity);
model.renderAsMultilineStringWithTooltip(VocabularyTermGridIDs.DESCRIPTION);
return model;
}
private void extendBottomToolbar()
{
addEntityOperationsLabel();
......@@ -184,7 +176,8 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
addButton(batchUpdateButton);
Button editButton =
createSelectedItemButton(viewContext.getMessage(Dict.EDIT_VOCABULARY_TERM_BUTTON),
createSelectedItemButton(
viewContext.getMessage(Dict.EDIT_VOCABULARY_TERM_BUTTON),
new ISelectedEntityInvoker<BaseEntityModel<TableModelRowWithObject<VocabularyTermWithStats>>>()
{
......@@ -200,8 +193,8 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
addButton(editButton);
Button deleteButton =
createSelectedItemsButton(viewContext
.getMessage(Dict.DELETE_VOCABULARY_TERMS_BUTTON),
createSelectedItemsButton(
viewContext.getMessage(Dict.DELETE_VOCABULARY_TERMS_BUTTON),
new SelectionListener<ButtonEvent>()
{
@Override
......@@ -332,7 +325,6 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
return BROWSER_ID + "-" + vocabularyId;
}
@Override
protected void listTableRows(
DefaultResultSetConfig<String, TableModelRowWithObject<VocabularyTermWithStats>> resultSetConfig,
......@@ -354,7 +346,7 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
{
return columnID.startsWith("TERM") ? columnID : columnID.toLowerCase();
}
private Window createUpdateTermsDialog()
{
final String title =
......@@ -363,8 +355,8 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
return new AbstractRegistrationDialog(viewContext, title, postRegistrationCallback)
{
public static final String ID =
GenericConstants.ID_PREFIX + "vocabulary-content-edit_" + "form";
public static final String ID = GenericConstants.ID_PREFIX
+ "vocabulary-content-edit_" + "form";
protected final String termsSessionKey;
......@@ -563,8 +555,6 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
};
}
@Override
protected List<String> getColumnIdsOfFilters()
{
......@@ -590,7 +580,8 @@ public class VocabularyTermGrid extends TypedTableGrid<VocabularyTermWithStats>
private void deleteTerms()
{
List<BaseEntityModel<TableModelRowWithObject<VocabularyTermWithStats>>> terms = getSelectedItems();
List<BaseEntityModel<TableModelRowWithObject<VocabularyTermWithStats>>> terms =
getSelectedItems();
if (terms.isEmpty())
{
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment