Package er.divalite.pages

Source Code of er.divalite.pages.ERLITTablePage

package er.divalite.pages;

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2W;

import er.directtoweb.pages.ERD2WListPage;
import er.extensions.eof.ERXEOControlUtilities;
import er.extensions.eof.ERXGenericRecord;
import er.extensions.foundation.ERXStringUtilities;
import er.extensions.foundation.ERXValueUtilities;

/**
* Divalite list page
*
* @author ravim
*
*/
public class ERLITTablePage extends ERD2WListPage {
  public int index;
 
    public ERLITTablePage(WOContext context) {
        super(context);
    }
   
    // accessors  
    public String rowClass() {
      return isEvenRow() ? null : "odd";
    }
   
    private boolean isEvenRow() {
      return (index % 2 == 0);
    }
   
    public int colspan() {
      if (isSelecting()) return 1;
      else {
        int colspan = 0;
        if (!isEntityReadOnly() && isEntityEditable()) colspan++;
        if (isEntityInspectable()) colspan++;
        if (isDetailPage()) colspan++;
        return colspan;
      }
    }
   
  public boolean isEntityDeletable() {
    return ERXValueUtilities.booleanValueWithDefault(d2wContext().valueForKey("isEntityDeletable"), false);
  }
   
    // FIXME: turn into rule
    public String rowID() {
        String primaryKeyString = ERXEOControlUtilities.primaryKeyStringForObject(object());
        return ERXStringUtilities.safeIdentifierName(d2wContext().entity().name() + primaryKeyString);
    }
   
    public String style() {
      return ((ERXGenericRecord) object()).isNewObject() ? "display:none;" : null;
    }
   
    // FIXME: turn into rule
    public String tableID() {
      String pageConfiguration = (String) d2wContext().dynamicPage();
      return (pageConfiguration != null && pageConfiguration.contains("Embedded")) ? null : "ListTable";
    }
   
    public boolean isDetailPage() {
      String subTask = (String) d2wContext().valueForKey("subTask");
      return subTask != null && subTask.equals("detail");
    }
   
    public int detailColspan() {
      Integer count = (Integer) valueForKeyPath("d2wContext.displayPropertyKeys.count");
    if (isEntityDeletable()) count++;
      return colspan() + count;
    }
   
    public String tbodyID() {
      return rowID() + "_detail";
    }
   
    /*
     * detail toggle
     */
    public String onMouseOver() {
      return "document.getElementById('" + tbodyID() + "').style.display = 'block';";
    }
   
    public String onMouseOut() {
      return "document.getElementById('" + tbodyID() + "').style.display = 'none';";
    }
   
    public String createActionName() {
      return "Create" + d2wContext().entity().name();
    }
   
    // actions
    /*
     * An excel report of the list
     */
    public WOComponent reportListAction() {
      ERD2WListPage excelListPage = (ERD2WListPage) D2W.factory().pageForConfigurationNamed("ListExcel" + entityName(), session());
      excelListPage.setDataSource(dataSource());
      return excelListPage;
    }
}
TOP

Related Classes of er.divalite.pages.ERLITTablePage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.