Package com.wiquery.plugins.demo

Source Code of com.wiquery.plugins.demo.GridPanel

/**
*
*/
package com.wiquery.plugins.demo;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

import com.wiquery.plugins.demo.test.Person;
import com.wiquery.plugins.jqgrid.component.Grid;
import com.wiquery.plugins.jqgrid.component.event.OnGridCompleteAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnHeaderClickAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnPagingAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnResizeStopAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnRightClickRowAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnSelectRowAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OnSortColAjaxEvent;
import com.wiquery.plugins.jqgrid.component.event.OndblClickRowAjaxEvent;
import com.wiquery.plugins.jqgrid.model.GridColumnModel;
import com.wiquery.plugins.jqgrid.model.GridModel;
import com.wiquery.plugins.jqgrid.model.IColumn;
import com.wiquery.plugins.jqgrid.model.SortOrder;
import com.wiquery.plugins.jqgrid.model.GridModel.HorizontalPosition;

/**
* @author Ernesto Reinaldo Barreiro (reiern70@gmail.com)
*
*/
public class GridPanel extends Panel {

  private static final long serialVersionUID = 1L;

  private boolean scoll = false;
 
  private boolean caption  = true;
 
  private GridModel<Person> model;
  WebMarkupContainer context;
 
  /**
   * @param id
   */
  public GridPanel(String id) {
    super(id);
   
    Form<Person> form = new Form<Person>("form");
    add(form);
   
    BooleanDropDownChoice scrollSelect = new BooleanDropDownChoice("scrollSelect", new PropertyModel<Boolean>(this, "scoll"));
    scrollSelect.add(new OnChangeAjaxBehavior() {
     
      private static final long serialVersionUID = 1L;

      @Override
      protected void onUpdate(AjaxRequestTarget target) {
        if(!scoll) {
              model.setRowNum(20);
              model.setRowList(null);
              model.setScroll(null);
            } else {
              model.setRowNum(10);
              model.setScroll(10);
            }
        target.addComponent(context);
      }
    });
   
    form.add(scrollSelect);
   
    BooleanDropDownChoice captionSelect = new BooleanDropDownChoice("captionSelect", new PropertyModel<Boolean>(this, "caption"));
    captionSelect.add(new OnChangeAjaxBehavior() {
     
      private static final long serialVersionUID = 1L;

      @Override
      protected void onUpdate(AjaxRequestTarget target) {
        if(caption)
          model.setCaption("Persons");
        else
          model.setCaption((String)null);
        target.addComponent(context);
      }
    });
   
    form.add(captionSelect);
   
    model = new GridModel<Person>(Person.class);
   
    if(caption)
      model.setCaption("Persons");
    else
      model.setCaption((String)null);
   
        model.addColumnModel(new GridColumnModel<Person>("id", "id", new Model<String>("ID"), 200));
        model.addColumnModel(new GridColumnModel<Person>("name","name", new Model<String>("Name"),200));
        model.addColumnModel(new GridColumnModel<Person>("lastName","lastName", new Model<String>("Last Name"),200));      
        model.addColumnModel(new GridColumnModel<Person>("address.street","address.street", new Model<String>("street"),200));
       
        if(!scoll) {
          model.setRowNum(20);
          model.setRowList(null);
        } else {
          model.setScroll(20);
        }
       
        model.setPagerpos(HorizontalPosition.left);
       
        context = new WebMarkupContainer("context");
        context.setOutputMarkupId(true);
      
        add(context);
       
        Grid<Person> grid = new Grid<Person>("grid", model, new PersonsDataProvider(WicketApplication.getWicketApplication().getPersons()));
        grid.addEvent(new OnSelectRowAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
          protected void onSelectRow(AjaxRequestTarget target, int row, IModel<Person> rowModel, boolean status) {
            System.out.println(rowModel.getObject().getName() + "selected="+status);
          }
         
        });
       
        grid.addEvent(new OnGridCompleteAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void onGridComplete(AjaxRequestTarget target,Grid<Person> grid) {
        System.out.println("Grid was just loaded!");
      }
         
        });
        grid.addEvent(new OndblClickRowAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void ondblClickRow(AjaxRequestTarget target, int row, int col, IModel<Person> rowModel) {
        System.out.println(rowModel.getObject().getName() + "col="+col + " row="+row);
      }
        });
       
        grid.addEvent(new OnRightClickRowAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;
     
      @Override
      protected void onRightClickRow(AjaxRequestTarget target,
          int row, int col, IModel<Person> rowModel) {
        System.out.println(rowModel.getObject().getName() + ": right click! col="+col + " row="+row);
      }

        });
       
        grid.addEvent(new OnHeaderClickAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void onHeaderClick(
          AjaxRequestTarget target,
          Grid<Person> grid,
          com.wiquery.plugins.jqgrid.component.event.OnHeaderClickAjaxEvent.GridState gridState) {
        System.out.println("gridState=" + gridState);
      }
     
        });
       
        grid.addEvent(new OnSortColAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void onSortCol(AjaxRequestTarget target,
          Grid<Person> grid, IColumn<Person> column, int col,
          String sortProperty, SortOrder order) {
        System.out.println("column=" + column.getPropertyPath()+",col="+col+",order="+order);
      }                   
        });
       
        grid.addEvent(new OnPagingAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void onPaging(
          AjaxRequestTarget target,
          Grid<Person> grid,
          PageButton button) {
        System.out.println(button.name() + " was clicked!");
      }
     
                       
        });
       
        grid.addEvent(new OnResizeStopAjaxEvent<Person>() {
         
      private static final long serialVersionUID = 1L;

      @Override
      protected void resizeStop(AjaxRequestTarget target,
          Grid<Person> grid, IColumn<Person> column,
          int newwidth) {
        System.out.println(column.getPropertyPath() + ","+newwidth);
      }
     
                       
        });
        context.add(grid);
  }

  public boolean isScoll() {
    return scoll;
  }

  public void setScoll(boolean scoll) {
    this.scoll = scoll;
  }

}
TOP

Related Classes of com.wiquery.plugins.demo.GridPanel

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.