📄 headercell.java
字号:
/* * Copyright 2004 original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.extremecomponents.table.cell;import org.apache.commons.lang.StringUtils;import org.extremecomponents.table.bean.Column;import org.extremecomponents.table.core.BaseModel;import org.extremecomponents.table.core.TableConstants;import org.extremecomponents.table.core.TableModelUtils;import org.extremecomponents.table.core.TableProperties;import org.extremecomponents.table.core.TableResourceBundle;import org.extremecomponents.util.HtmlBuilder;/** * A header cell. * * @author Jeff Johnston */public class HeaderCell extends BaseCell { public final static String TABLE_HEADER = "tableHeader"; public final static String TABLE_HEADER_SORT = "tableHeaderSort"; public final static String SORT_ASC_IMAGE = "sortAsc"; public final static String SORT_DESC_IMAGE = "sortDesc"; private String headerClass; private String sortImage; private String sortOrder; /** * Account for the fact that we have to sort. */ public void init(BaseModel model, Column column) { super.init(model, column); headerClass = column.getHeaderClass(); if (TableModelUtils.isSorted(model, column.getProperty())) { sortOrder = model.getRegistry().getParameter(TableConstants.SORT + column.getProperty()); if (sortOrder.equals(TableConstants.SORT_DEFAULT)) { sortOrder = TableConstants.SORT_ASC; } else if (sortOrder.equals(TableConstants.SORT_ASC)) { headerClass = model.getProperties().getProperty(TableProperties.HEADER_SORT_CLASS); sortImage = TableModelUtils.getImage(model, SORT_ASC_IMAGE); sortOrder = TableConstants.SORT_DESC; } else if (sortOrder.equals(TableConstants.SORT_DESC)) { headerClass = model.getProperties().getProperty(TableProperties.HEADER_SORT_CLASS); sortImage = TableModelUtils.getImage(model, SORT_DESC_IMAGE); sortOrder = TableConstants.SORT_DEFAULT; } } else { sortOrder = TableConstants.SORT_ASC; // the default } } public String html() { HtmlBuilder html = new HtmlBuilder(); html.td(2); if (StringUtils.isNotEmpty(headerClass)) { html.styleClass(headerClass); } if (StringUtils.isNotEmpty(column.getHeaderStyle())) { html.style(column.getHeaderStyle()); } if (StringUtils.isNotEmpty(column.getWidth())) { html.width(column.getWidth()); } if (column.isSortable()) { if (sortOrder.equals(TableConstants.SORT_ASC)) { html.onmouseover("this.className='" + TABLE_HEADER_SORT + "';this.style.cursor='pointer'"); html.onmouseout("this.className='" + TABLE_HEADER + "';this.style.cursor='default'"); } if (sortOrder.equals(TableConstants.SORT_DEFAULT) || sortOrder.equals(TableConstants.SORT_DESC)) { html.onmouseover("this.style.cursor='pointer'"); html.onmouseout("this.style.cursor='default'"); } HtmlBuilder onclick = new HtmlBuilder(); String action = model.getTableHandler().getTable().getAction(); if (StringUtils.isNotEmpty(action)) { onclick.append(action); } onclick.question().append(model.getTableHandler().prefixWithTableId()).append(TableConstants.SORT).append( column.getProperty()).equals().append(sortOrder); onclick.append(model.getRegistry().getURLParameterString(true, false, false, true)); onclick.append(model.getRegistry().getParameterString(TableConstants.OPEN)); html.onclick("document.location='" + onclick.toString() + "'"); String headercellTooltip = model.getResourceBundle().getResource( TableResourceBundle.HEADERCELL_SORT_TOOLTIP); html.title(headercellTooltip + " " + column.getTitle()); } html.close(); html.append(column.getTitle()); if (column.isSortable()) { if (StringUtils.isNotEmpty(sortImage)) { html.append(" ").img(sortImage); } } html.tdEnd(); return html.toString(); } protected String getHeaderClass() { return headerClass; } protected String getSortImage() { return sortImage; } protected String getSortOrder() { return sortOrder; } public void destroy() { super.destroy(); headerClass = null; sortImage = null; sortOrder = null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -