List of usage examples for org.jfree.chart.imagemap URLTagFragmentGenerator generateURLFragment
public String generateURLFragment(String urlText);
From source file:org.openfaces.component.chart.impl.helpers.MapRenderUtilities.java
private static String getTitleImageMapAreaTag(Chart chart, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator, ChartEntity entity) { StringBuilder tag = new StringBuilder(); ChartTitle title = chart.getTitle(); if (title == null) return ""; boolean hasURL = entity.getURLText() != null && !entity.getURLText().equals(""); boolean hasAction = title.getActionExpression() != null || title.getActionListeners().length > 0; boolean hasToolTip = title.getTooltip() != null && !title.getTooltip().equals(""); if (!hasURL && !hasToolTip && !hasAction) return ""; String fieldId = chart.getClientId(FacesContext.getCurrentInstance()) + ACTION_FIELD_SUFFIX; tag.append("<area"); if (hasAction) tag.append(" onclick=\"O$.setValue('").append(fieldId).append("','title'); O$.submitById('") .append(fieldId).append("');\""); tag.append(" shape=\"").append(entity.getShapeType()).append("\"" + " coords=\"") .append(entity.getShapeCoords()).append("\""); if (hasToolTip) { String toolTipText = entity.getToolTipText(); if (toolTipText != null) tag.append(toolTipTagFragmentGenerator.generateToolTipFragment(toolTipText)); }//from ww w . ja v a 2s. c o m if (hasURL && !hasAction) tag.append(urlTagFragmentGenerator.generateURLFragment(entity.getURLText())); if (!hasToolTip) tag.append(" alt=\"\""); tag.append("/>"); return tag.toString(); }
From source file:org.openfaces.component.chart.impl.helpers.MapRenderUtilities.java
private static String getImageMapAreaTag(Chart chart, ChartView view, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator, ChartEntity entity, int entityIndex) { StringBuilder tag = new StringBuilder(); boolean hasURL = entity.getURLText() != null && !entity.getURLText().equals(""); boolean hasAction = viewHasAction(view); boolean hasPopup = viewHasPopup(view); boolean hasToolTip = entity.getToolTipText() != null && !entity.getToolTipText().equals(""); boolean hasSelection = chart.getChartSelection() != null; String onClick = getOnClick(chart, view, entity); String onMouseOut = getOnMouseOut(chart, view, entity); String onMouseOver = getOnMouseOver(chart, view, entity); boolean hasCustomOnMouseOver = onMouseOver != null && !onMouseOver.equals(""); boolean hasCustomOnMouseOut = onMouseOut != null && !onMouseOut.equals(""); boolean hasCustomClick = onClick != null && !onClick.equals(""); if (hasURL || hasToolTip || hasAction || hasPopup || hasCustomClick || hasSelection) { final FacesContext context = FacesContext.getCurrentInstance(); tag.append("<area"); if (hasAction || hasCustomClick || hasSelection) { if (hasSelection && chart.getChartMenu() != null && Environment.isChrome()) { tag.append(" oncontextmenu=\""); tag.append("O$('").append(chart.getClientId(context)) .append("')._areaContextMenuClick(event, '") .append(chart.getChartMenu().getClientId(context)).append("');"); tag.append("\""); }//www . j a va2 s .co m tag.append(" onclick=\"O$('").append(chart.getClientId(context)).append("')._clickItem(event, '") .append(entityIndex).append("'"); tag.append(","); if (hasCustomClick) { tag.append("function(event){").append(onClick).append("}"); } else { tag.append("null"); } tag.append(",").append(hasAction); tag.append(",").append(hasSelection); tag.append(")\""); } if (hasCustomOnMouseOver || hasPopup) { StringBuilder mouseOverBuilder = new StringBuilder(); if (hasPopup) { final Integer oldEntityIndex = chart.getEntityIndex(); chart.setEntityIndex(entityIndex); mouseOverBuilder.append("O$.ChartPopup._show(event,"); mouseOverBuilder.append("'"); mouseOverBuilder.append(chart.getChartView().getChartPopup().getClientId(context)); mouseOverBuilder.append("',"); mouseOverBuilder.append("'"); mouseOverBuilder.append(entityIndex); mouseOverBuilder.append("'"); chart.setEntityIndex(oldEntityIndex); if (hasCustomOnMouseOver) { mouseOverBuilder.append(", function(){"); mouseOverBuilder.append(onMouseOver); mouseOverBuilder.append("}"); } } else { mouseOverBuilder.append(onMouseOver); } mouseOverBuilder.append(");"); tag.append(" onmouseover=\"").append(mouseOverBuilder.toString()).append("\""); } if (hasCustomOnMouseOut) { tag.append(" onmouseout=\"").append(onMouseOut).append("\""); } tag.append(" shape=\"").append(entity.getShapeType()).append("\"" + " coords=\"") .append(entity.getShapeCoords()).append("\""); if (hasToolTip) tag.append(toolTipTagFragmentGenerator.generateToolTipFragment(entity.getToolTipText())); if (hasURL && !hasAction) tag.append(urlTagFragmentGenerator.generateURLFragment(entity.getURLText())); if (!hasToolTip) tag.append(" alt=\"\""); tag.append("/>"); } return tag.toString(); }