* @return list grid fields used to display the datasource data
*/
public ArrayList<ListGridField> getListGridFields() {
ArrayList<ListGridField> fields = new ArrayList<ListGridField>(6);
ListGridField nameField = new ListGridField(ATTR_NAME, MSG.common_title_name());
fields.add(nameField);
ListGridField definedByField = new ListGridField(ATTR_DEFINED_BY, MSG.view_adminTemplates_definedBy());
definedByField.setCanSortClientOnly(true);
fields.add(definedByField);
ListGridField numDefinitionsField = new ListGridField(ATTR_NUM_DEFINITIONS, MSG.common_title_definitions());
numDefinitionsField.setCanSortClientOnly(true);
fields.add(numDefinitionsField);
ListGridField pinnedField = new ListGridField(ATTR_PINNED, MSG.view_drift_table_pinned());
pinnedField.setType(ListGridFieldType.IMAGE);
pinnedField.setAlign(Alignment.CENTER);
pinnedField.setCanSortClientOnly(true);
pinnedField.addRecordClickHandler(new RecordClickHandler() {
public void onRecordClick(RecordClickEvent event) {
if (event.getRecord().getAttributeAsBoolean(ATTR_IS_PINNED)) {
CoreGUI.goToView(LinkManager.getAdminTemplatesEditLink(DriftDefinitionTemplateTypeView.VIEW_ID
.getName(), resourceTypeId)
+ "/" + event.getRecord().getAttribute(ATTR_ID) + "/Snapshot");
}
}
});
pinnedField.setShowHover(true);
pinnedField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
return record.getAttributeAsBoolean(ATTR_IS_PINNED) ? MSG.view_drift_table_hover_templatePinned() : MSG
.view_drift_table_hover_templateNotPinned();
}
});
fields.add(pinnedField);
ListGridField enabledField = new ListGridField(ATTR_IS_ENABLED, MSG.common_title_enabled());
enabledField.setType(ListGridFieldType.IMAGE);
enabledField.setAlign(Alignment.CENTER);
definedByField.setCanSortClientOnly(true);
fields.add(enabledField);
ListGridField driftHandlingModeField = new ListGridField(ATTR_DRIFT_HANDLING_MODE, MSG
.view_drift_table_driftHandlingMode());
driftHandlingModeField.setCanSortClientOnly(true);
fields.add(driftHandlingModeField);
ListGridField intervalField = new ListGridField(ATTR_INTERVAL, MSG.common_title_interval());
intervalField.setCanSortClientOnly(true);
fields.add(intervalField);
ListGridField baseDirField = new ListGridField(ATTR_BASE_DIR_STRING, MSG.view_drift_table_baseDir());
baseDirField.setCanSortClientOnly(true);
fields.add(baseDirField);
ListGridField editField = new ListGridField(ATTR_EDIT, MSG.common_title_edit());
editField.setType(ListGridFieldType.IMAGE);
editField.setAlign(Alignment.CENTER);
editField.setCanSort(false);
editField.addRecordClickHandler(new RecordClickHandler() {
public void onRecordClick(RecordClickEvent event) {
CoreGUI.goToView(LinkManager.getAdminTemplatesEditLink(DriftDefinitionTemplateTypeView.VIEW_ID
.getName(), resourceTypeId)
+ "/" + event.getRecord().getAttribute(ATTR_ID) + "/Edit");
}
});
editField.setShowHover(true);
editField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
return MSG.view_drift_table_hover_edit();
}
});
fields.add(editField);
nameField.setWidth("20%");
definedByField.setWidth("10%");
numDefinitionsField.setWidth(70);
pinnedField.setWidth(70);
enabledField.setWidth(60);
driftHandlingModeField.setWidth("10%");
intervalField.setWidth(70);
baseDirField.setWidth("*");
editField.setWidth(70);
return fields;
}