Package nl.topicus.wqplot.web.pages.examples.dist

Source Code of nl.topicus.wqplot.web.pages.examples.dist.AreaPage

package nl.topicus.wqplot.web.pages.examples.dist;

import java.util.ArrayList;
import java.util.List;

import nl.topicus.wqplot.components.JQPlot;
import nl.topicus.wqplot.components.JQPlotEvent;
import nl.topicus.wqplot.data.SimpleNumberSeries;
import nl.topicus.wqplot.options.PlotLineRendererOptions;
import nl.topicus.wqplot.options.PlotOptions;
import nl.topicus.wqplot.web.pages.BasePage;

import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.model.util.ListModel;
import org.odlabs.wiquery.core.events.Event;
import org.odlabs.wiquery.core.events.WiQueryEventBehavior;
import org.odlabs.wiquery.core.javascript.JsScope;
import org.odlabs.wiquery.core.javascript.JsScopeContext;

public class AreaPage extends BasePage
{
  private static final long serialVersionUID = 1L;

  public AreaPage()
  {
    addChart1b();
    addChart1c();
  }

  private void addChart1b()
  {
    List<SimpleNumberSeries<Integer>> chart1series =
      new ArrayList<SimpleNumberSeries<Integer>>();
    chart1series.add(new SimpleNumberSeries<Integer>(11, 9, 5, 12, 14));
    chart1series.add(new SimpleNumberSeries<Integer>(4, 8, 5, 3, 6));
    chart1series.add(new SimpleNumberSeries<Integer>(12, 6, 13, 11, 2));

    JQPlot chart1b =
      new JQPlot("chart1b", new ListModel<SimpleNumberSeries<Integer>>(chart1series));

    PlotOptions chart1bO = chart1b.getOptions();
    chart1bO.setStackSeries(true);
    chart1bO.getSeriesDefaults().setFill(true);
    chart1bO.getAxes().getXaxis().setRenderer("$.jqplot.CategoryAxisRenderer");
    chart1bO.getAxes().getXaxis().setTicks("Mon", "Tue", "Wed", "Thu", "Fri");

    add(chart1b);

    final WebMarkupContainer info1b = new WebMarkupContainer("info1b");
    info1b.setOutputMarkupId(true);
    add(info1b);

    chart1b.add(new WiQueryEventBehavior(new Event(JQPlotEvent.DATA_HIGHLIGHT)
    {
      private static final long serialVersionUID = 1L;

      @Override
      public JsScope callback()
      {
        return new JsScope("ev", "seriesIndex", "pointIndex", "data")
        {
          private static final long serialVersionUID = 1L;

          @Override
          protected void execute(JsScopeContext scopeContext)
          {
            StringBuilder body = new StringBuilder();
            body.append("$('#");
            body.append(info1b.getMarkupId());
            body.append("').html("
              + "'series: '+seriesIndex+', point: '+pointIndex+', data: '+data);");
            scopeContext.append(body);
          }
        };
      }
    }));

    chart1b.add(new WiQueryEventBehavior(new Event(JQPlotEvent.DATA_UNHIGHLIGHT)
    {
      private static final long serialVersionUID = 1L;

      @Override
      public JsScope callback()
      {
        return new JsScope("ev")
        {
          private static final long serialVersionUID = 1L;

          @Override
          protected void execute(JsScopeContext scopeContext)
          {
            StringBuilder body = new StringBuilder();
            body.append("$('#");
            body.append(info1b.getMarkupId());
            body.append("').html('Nothing');");
            scopeContext.append(body);
          }
        };
      }
    }));
  }

  private void addChart1c()
  {
    List<SimpleNumberSeries<Integer>> chart2series =
      new ArrayList<SimpleNumberSeries<Integer>>();
    chart2series.add(new SimpleNumberSeries<Integer>(4, -3, 3, 6, 2, -2));

    JQPlot chart1c =
      new JQPlot("chart1c", new ListModel<SimpleNumberSeries<Integer>>(chart2series));

    PlotOptions chart1cO = chart1c.getOptions();
    chart1cO.setStackSeries(true);
    chart1cO.getSeriesDefaults().setFill(true);
    chart1cO.getSeriesDefaults().setFillToZero(true);
    chart1cO.getSeriesDefaults().setRendererOptions(
      new PlotLineRendererOptions().setHighlightMouseDown(true));

    add(chart1c);

    final WebMarkupContainer info1c = new WebMarkupContainer("info1c");
    info1c.setOutputMarkupId(true);
    add(info1c);

    chart1c.add(new WiQueryEventBehavior(new Event(JQPlotEvent.DATA_HIGHLIGHT)
    {
      private static final long serialVersionUID = 1L;

      @Override
      public JsScope callback()
      {
        return new JsScope("ev", "seriesIndex", "pointIndex", "data")
        {
          private static final long serialVersionUID = 1L;

          @Override
          protected void execute(JsScopeContext scopeContext)
          {
            StringBuilder body = new StringBuilder();
            body.append("$('#");
            body.append(info1c.getMarkupId());
            body.append("').html("
              + "'series: '+seriesIndex+', point: '+pointIndex+', data: '+data);");
            scopeContext.append(body);
          }
        };
      }
    }));
  }
}
TOP

Related Classes of nl.topicus.wqplot.web.pages.examples.dist.AreaPage

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.