Мне нужно было создать настраиваемую кнопку экспорта, поэтому я использовал TextItem.
вот код для этого:
TextItem tItem = new TextItem();
tItem.setText("<div>" +
getMessageSourceAccessor().getMessage("pb.export.selected") + "</div>");
ToolbarItemRenderer renderer = new CustomItemRenderer(tItem, getCoreContext(), "selected");
renderer.setOnInvokeAction("onInvokeAction");
tItem.setToolbarItemRenderer(renderer);
addToolbarItem(tItem);
и вот пользовательский рендер:
public class CustomItemRenderer extends AbstractItemRenderer {
private String type;
public CustomItemRenderer(ToolbarItem item, CoreContext coreContext, String type) {
setToolbarItem(item);
setCoreContext(coreContext);
this.type = type;
}
@Override
public String render() {
ToolbarItem item = getToolbarItem();
String action = "javascript:jQuery.jmesa.setExportToLimit('promotions','pdf');onInvokeExportAction('promotions'," + type + ");";
item.setAction(action);
return item.enabled();
}
}
Это все сделано в моей пользовательской реализации панели инструментов. Возможно, есть более простой способ сделать это, но это работает для меня.