Package

Source Code of ModalDialogOpenerExample

import com.webobjects.appserver.WOActionResults;
import com.webobjects.appserver.WOContext;
import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSMutableArray;
import com.webobjects.foundation.NSValidation;

import er.ajax.AjaxModalDialog;
import er.ajax.AjaxRequestHandler;
import er.ajax.AjaxUtils;
import er.ajax.example.Company;
import er.ajax.example.Employee;
import er.extensions.eof.ERXS;

/**
* Example usage of AjaxModalDialogOpener.  Not intended as a best practice example of WO coding...
*
* @see AjaxModalDialog
*/
public class ModalDialogOpenerExample extends ModalDialogExample {

  public Company selectedCompany;
  public Company aCompany;
  public int companyIndex;
  public Company companyToEdit;
  public String validationMessage;

  public ModalDialogOpenerExample(WOContext context) {
        super(context);
    }
   
    @Override
  public WOActionResults cancelEdit() {
    employee().editingContext().revert();
      return context().page();
    }
   
    @Override
  public WOActionResults saveEdit() {
      try {
          errorMessages = null;
        employee().editingContext().saveChanges();
      } catch (NSValidation.ValidationException e) {
          errorMessages = e.getLocalizedMessage();
          if (e.additionalExceptions().count() > 0) {
            errorMessages += "<br/>" + ((NSArray)e.additionalExceptions().valueForKey("localizedMessage")).componentsJoinedByString("<br/>");
          }
      }
     
      return context().page();
    }
   
    /**
     * Ajax action method to select the company from the modal dialog.
     */
    public void selectCompany(){
      employee().addObjectToBothSidesOfRelationshipWithKey(selectedCompany, Employee.COMPANY_KEY);
    AjaxModalDialog.close(context());
    }
   
    public void rememberCurrentCompany() {
      selectedCompany = employee().company();
  }
   
    /**
     * Updates the editor forms when the dialog is closed.
     */
    public void updatePage() {
    if (AjaxRequestHandler.AjaxRequestHandlerKey.equals(context().request().requestHandlerKey())) {
        AjaxUtils.javascriptResponse("UIUpdater1Update(); UIUpdater2Update();  CompanyListUpdaterUpdate();", context());
    }
    }
   
    public void willOpen() {
      System.out.println("willOpen called by AjaxModalDialogOpener");
    }
 
    public String editCompanyTitle() {
      return "Edit " + aCompany.name();
  }
   
    public void selectCompanyToEdit() {
      companyToEdit = aCompany;
      System.out.println("selectCompanyToEdit: " + companyToEdit.name());
    }
   
    public void saveCompanyChanges() {
      System.out.println("saveCompanyChanges: " + companyToEdit.name());
      try {
          companyToEdit.editingContext().saveChanges();
          AjaxModalDialog.close(context());
      }
      catch (Exception e)
      {
        validationMessage = e.getMessage();
          AjaxModalDialog.update(context());
      }
    }
   
    public void deleteCompany() {
      System.out.println("deleteCompany: " + companyToEdit.name());
      try {
        EOEditingContext ec = companyToEdit.editingContext();
        companyToEdit.editingContext().revert();
        companyToEdit.editingContext().deleteObject(companyToEdit);
        companyToEdit.editingContext().saveChanges();
          companies = new NSMutableArray<Company>(Company.fetchAllCompanies(ec, ERXS.ascs(Company.NAME_KEY)));
          AjaxModalDialog.close(context());
      }
      catch (Exception e)
      {
        validationMessage = e.getMessage();
          AjaxModalDialog.update(context());
      }
    }
   
   
    public void cleanupAfterCompanyEdit() {
      System.out.println("cleanupAfterCompanyEdit");
      if (companyToEdit.editingContext() != null) {
          companyToEdit.editingContext().revert();
      }
      validationMessage = null;
      companyToEdit = null;
      updatePage();
    }
   
   
}
TOP

Related Classes of ModalDialogOpenerExample

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.