@Override public void encodeBegin(final FacesContext context) throws IOException { if (!hasSubmitPopup()) { addSubmitPopupIfNeeded(); } super.encodeBegin(context); }
/** * @return true if the form already has a submit popup. */ protected boolean hasSubmitPopup() { for (UIComponent c : getChildren()) { if (SUBMIT_POPUP_ID.equals(c.getId())) { return true; } } return false; }
/** * Add the submitPopup. */ protected void addSubmitPopupIfNeeded() { // add a div Div div = new Div(); div.setId("submitPopup"); div.setStyleClass("form-submit-popup"); div.setStyle("visibility: hidden"); div.setRendered(true); getChildren().add(div); // add the image to the div HtmlGraphicImage img = new HtmlGraphicImage(); img.setId("submitPopupImage"); img.setValue(getAttributes().get(SUBMIT_POPUP_IMAGE)); img.setStyle("visibility: hidden"); img.setRendered(true); div.getChildren().add(img); // add the text to the div HtmlOutputText text = new HtmlOutputText(); text.setId("submitPopupText"); text.setValueExpression(JSFAttr.VALUE_ATTR, getValueExpression(SUBMIT_POPUP_TEXT)); text.setStyle("visibility: hidden"); text.setRendered(true); div.getChildren().add(text); }