All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.devocative.wickomp.grid.toolbar.OButton Maven / Gradle / Ivy

package org.devocative.wickomp.grid.toolbar;

import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.resource.ResourceRequestHandler;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.IResource;
import org.devocative.wickomp.grid.WBaseGrid;
import org.devocative.wickomp.grid.column.OColumnList;
import org.devocative.wickomp.opt.Options;

public abstract class OButton extends Options {
	private static final long serialVersionUID = 4808428345821267063L;

	protected static final String TOOLBAR_BUT_HTML_CLASS = "w-grid-tbar-but";

	private int index;
	private String url;
	private String gridHtmlId;
	private OColumnList columnList;

	// ------------------------------

	public void init(String url, int index, String gridHtmlId, OColumnList columnList) {
		this.url = url;
		this.index = index;
		this.gridHtmlId = gridHtmlId;
		this.columnList = columnList;
	}

	public String getGridHtmlId() {
		return gridHtmlId;
	}

	public OColumnList getColumnList() {
		return columnList;
	}

	// ------------------------------

	public abstract String getHTMLContent();

	// ------------------------------

	protected final String getCallbackURL() {
		//return String.format("%s&cn=%s&tp=bt", url, index);
		return String.format("%s&%s=%s&%s=%s", url, WBaseGrid.URL_PARAM_COLUMN_NUMBER, index,
			WBaseGrid.URL_PARAM_CLICK_TYPE, WBaseGrid.CLICK_FROM_BUTTON);
	}

	protected final void sendResource(IResource resource) {
		sendResource(resource, null);
	}

	protected final void sendResource(IResource resource, PageParameters pageParameters) {
		RequestCycle cycle = RequestCycle.get();
		cycle.scheduleRequestHandlerAfterCurrent(new ResourceRequestHandler(resource, pageParameters));
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy