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

org.orienteer.wicketbpmnio.component.BpmnViewer Maven / Gradle / Ivy

The newest version!
package org.orienteer.wicketbpmnio.component;

import java.util.HashMap;
import java.util.Map;

import org.apache.wicket.core.util.string.JavaScriptUtils;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.panel.GenericPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.util.string.Strings;
import org.apache.wicket.util.template.PackageTextTemplate;
import org.apache.wicket.util.template.TextTemplate;

public class BpmnViewer extends AbstractBpmnIoPanel {

	private static final JavaScriptResourceReference BPMN_VIEWER_JS = new JavaScriptResourceReference(BpmnViewer.class, "bpmnviewer.min.js");
	
	public BpmnViewer(String id, IModel xmlModel) {
		super(id, xmlModel);
		setOutputMarkupId(true);
	}
	
	@Override
	public void renderHead(IHeaderResponse response) {
		super.renderHead(response);
		response.render(JavaScriptHeaderItem.forReference(BPMN_VIEWER_JS));
		
		Map params = new HashMap();
		params.put("componentId", getMarkupId());
		params.put("xml", escapeAndWrapAsJavaScriptString(getModelObject()));
		TextTemplate template = new PackageTextTemplate(BpmnViewer.class, "bpmnviewer.tmpl.js");
		response.render(OnDomReadyHeaderItem.forScript(template.asString(params)));
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy