public void encodeScript(IPanelPopup panelPopup, IResponseWriter writer) throws IOException { String clientId = panelPopup.getClientId(); writer.startElement(DIV_ELEM, panelPopup); writer.writeAttribute(ID_ATTR, clientId + "_scrDiv"); writer.writeAttribute(CLASS_ATTR, "mobi-hidden"); writer.startElement(SPAN_ELEM, panelPopup); writer.writeAttribute(ID_ATTR, clientId + "_scrSpan"); writer.startElement("script", null); writer.writeAttribute("type", "text/javascript"); StringBuilder builder = new StringBuilder(255); boolean disabled = panelPopup.isDisabled(); if (disabled && !panelPopup.isClientSide()) { panelPopup.setVisible(false); } builder .append("ice.mobi.panelPopup.init('") .append(clientId) .append("', {visible: ") .append(panelPopup.isVisible()) .append(", autocenter: ") .append(panelPopup.isAutoCenter()) .append(", client: ") .append(panelPopup.isClientSide()) .append(", id: '") .append(panelPopup.getId()) .append("'"); if (panelPopup.getWidth() != Integer.MIN_VALUE) { builder.append(", width: ").append(panelPopup.getWidth()); } if (panelPopup.getHeight() != Integer.MIN_VALUE) { builder.append(", height: ").append(panelPopup.getHeight()); } if (null != panelPopup.getStyleClass()) { builder.append(", sclass: '").append(panelPopup.getStyleClass()).append("'"); } if (panelPopup.getStyle() != null) { builder.append(", style: '").append(panelPopup.getStyle()).append("'"); } if (disabled) { builder.append(", disabled: ").append(panelPopup.isDisabled()); } builder.append("});"); writer.write(builder.toString()); writer.endElement("script"); writer.endElement(SPAN_ELEM); writer.endElement(DIV_ELEM); }