Package org.odlabs.wiquery.tab

Source Code of org.odlabs.wiquery.tab.TabsPanel

package org.odlabs.wiquery.tab;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.odlabs.wiquery.ui.effects.DropEffectJavaScriptResourceReference;
import org.odlabs.wiquery.ui.effects.SlideEffectJavaScriptResourceReference;
import org.odlabs.wiquery.ui.options.EffectOptionObject;
import org.odlabs.wiquery.ui.tabs.TabsAnimateOption;
import org.odlabs.wiquery.ui.tabs.Tabs;

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

  private static final long serialVersionUID = 7431432083554551959L;

  private int index = -1;
 
  private Label indexLabel;
 
  public TabsPanel(String id) {
    super(id);
    Tabs tabs = new Tabs("tabs");
    tabs.setAjaxBeforeActivateEvent(new Tabs.ITabsAjaxEvent() {
      private static final long serialVersionUID = 1L;

      @Override
      public void onEvent(AjaxRequestTarget target, Tabs tabs, int index) {
        TabsPanel.this.index = index;
        target.add(indexLabel);
      }
    });
    tabs.setCollapsible(true);
    tabs.setActive(false);
    tabs.setHide(new TabsAnimateOption(new EffectOptionObject()
        .setEffect("drop")
        .setDuration(200)
    ));
    tabs.setShow(new TabsAnimateOption(new EffectOptionObject()
        .setEffect("slide")
        .setDuration(200)
    ));
    add(tabs);
   
    indexLabel = new Label("indexLabel", new AbstractReadOnlyModel<String>() {
      private static final long serialVersionUID = 1L;

      @Override
      public String getObject() {
        return "Selected index is: " + index;
      }
    });
    indexLabel.setOutputMarkupId(true);
    add(indexLabel);
  }

  @Override
  public void renderHead(IHeaderResponse response) {
    super.renderHead(response);
    response.render(JavaScriptHeaderItem.forReference(SlideEffectJavaScriptResourceReference.get()));
    response.render(JavaScriptHeaderItem.forReference(DropEffectJavaScriptResourceReference.get()));
  }
}
TOP

Related Classes of org.odlabs.wiquery.tab.TabsPanel

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.