1 21 package net.mlw.vlh.web.tag.support; 22 23 import java.util.HashMap ; 24 import java.util.Map ; 25 26 import net.mlw.vlh.ValueListInfo; 27 import net.mlw.vlh.web.ValueListConfigBean; 28 import net.mlw.vlh.web.tag.TableInfo; 29 30 34 public class HtmlCssDisplayProvider extends AbstractHTMLDisplayProvider 35 { 36 41 public String getHeaderCellPreProcess(ColumnInfo columnInfo, ValueListInfo info) 42 { 43 StringBuffer sb = new StringBuffer (255); sb.append("\n<th "); 45 46 if (columnInfo != null) 47 { 48 String attributes = columnInfo.getAttributes(); 49 if (attributes != null) 50 { 51 sb.append(attributes); 52 } 53 54 if (columnInfo.getDefaultSort() != null) 55 { 56 String column = info.getSortingColumn(); 57 Integer direction = info.getSortingDirection(); 58 if (columnInfo.getAdapterPropertyName().equals(column)) 59 { 60 sb.append(" class=\"sortable ").append(((ValueListInfo.ASCENDING.equals(direction) ? "orderAsc" : "orderDesc"))) 61 .append("\""); 62 } 63 else 64 { 65 sb.append(" class=\"sortable\""); 66 } 67 68 } 70 if (columnInfo.getToolTip() != null) 71 { 72 sb.append(" title=\"").append(columnInfo.getToolTip()).append("\""); } } 75 76 sb.append(">"); 77 return sb.toString(); 78 } 79 80 92 public String getHeaderLabel(ColumnInfo columnInfo, TableInfo tableInfo, ValueListInfo info, Map includeParameters) 93 { 94 95 ValueListConfigBean config = tableInfo.getConfig(); 96 Map parameters = new HashMap (includeParameters); 97 98 if (columnInfo.getDefaultSort() != null) 99 { 100 String column = info.getSortingColumn(); 102 Integer direction = info.getSortingDirection(); 103 104 parameters.put(ValueListInfo.PAGING_NUMBER_PER + tableInfo.getId(), String.valueOf(info.getPagingNumberPer())); 105 parameters.put(ValueListInfo.PAGING_PAGE + tableInfo.getId(), "1"); 106 parameters.put(ValueListInfo.SORT_COLUMN + tableInfo.getId(), columnInfo.getAdapterPropertyName()); 107 parameters 108 .put( 109 ValueListInfo.SORT_DIRECTION + tableInfo.getId(), 110 ((columnInfo.getAdapterPropertyName().equals(column)) ? (ValueListInfo.ASCENDING.equals(direction) ? ValueListInfo.DESCENDING 111 : ValueListInfo.ASCENDING) 112 : columnInfo.getDefaultSort())); 113 114 if (info.isFocusEnabled()) 115 { 116 parameters.put(ValueListInfo.DO_FOCUS + tableInfo.getId(), info.isDoFocusAgain() ? "true" : "false"); 117 if (info.getFocusProperty() != null) 118 { 119 parameters.put(ValueListInfo.FOCUS_PROPERTY + tableInfo.getId(), info.getFocusProperty()); 120 } 121 if (info.getFocusValue() != null) 122 { 123 parameters.put(ValueListInfo.FOCUS_VALUE + tableInfo.getId(), info.getFocusValue()); 124 } 125 } 126 127 StringBuffer sb = new StringBuffer (); 128 129 renderHeaderLabelLink(sb, columnInfo, tableInfo, info, parameters); 130 131 return sb.toString(); 132 133 } 134 else 135 { 136 return columnInfo.getTitle(); 137 } 138 } 139 140 150 protected void renderHeaderLabelLink(StringBuffer sb, ColumnInfo columnInfo, TableInfo tableInfo, ValueListInfo info, Map parameters) 151 { 152 153 String column = info.getSortingColumn(); 154 Integer direction = info.getSortingDirection(); 155 156 sb.append("<a HREF=\"").append(tableInfo.getUrl()); 157 158 sb.append(tableInfo.getConfig().getLinkEncoder().encode(tableInfo.getPageContext(), parameters)); 159 160 sb.append("\">").append(columnInfo.getTitle()).append("</a>"); 161 } 162 163 168 public String getHeaderCellPostProcess() 169 { 170 return "</th>"; 171 } 172 173 public String getCellPreProcess(Attributes attributes) 174 { 175 return (attributes == null) ? "\n<td>" : "\n<td " + attributes.getCellAttributesAsString() + ">"; 176 } 177 178 public String getCellPostProcess() 179 { 180 return "</td>"; 181 } 182 183 } 184 | Popular Tags |