use of com.manydesigns.elements.xml.XhtmlBuffer in project Portofino by ManyDesigns.
the class AbstractCrudAction method configureSortLinks.
protected void configureSortLinks(TableFormBuilder tableFormBuilder) {
for (PropertyAccessor propertyAccessor : classAccessor.getProperties()) {
String propName = propertyAccessor.getName();
String sortDirection;
if (propName.equals(sortProperty) && "asc".equals(this.sortDirection)) {
sortDirection = "desc";
} else {
sortDirection = "asc";
}
Map<String, Object> parameters = new HashMap<>();
parameters.put("sortProperty", propName);
parameters.put("sortDirection", sortDirection);
parameters.put(SEARCH_STRING_PARAM, searchString);
Charset charset = Charset.forName(context.getRequest().getCharacterEncoding());
UrlBuilder urlBuilder = new UrlBuilder(charset, Util.getAbsoluteUrl(context.getActionPath()), false).addParameters(parameters);
XhtmlBuffer xb = new XhtmlBuffer();
xb.openElement("a");
xb.addAttribute("class", "sort-link");
xb.addAttribute("href", urlBuilder.toString());
xb.writeNoHtmlEscape("%{label}");
if (propName.equals(sortProperty)) {
xb.openElement("em");
xb.addAttribute("class", "pull-right glyphicon glyphicon-chevron-" + ("desc".equals(sortDirection) ? "up" : "down"));
xb.closeElement("em");
}
xb.closeElement("a");
OgnlTextFormat hrefFormat = OgnlTextFormat.create(xb.toString());
String encoding = getUrlEncoding();
hrefFormat.setEncoding(encoding);
tableFormBuilder.configHeaderTextFormat(propName, hrefFormat);
}
}
use of com.manydesigns.elements.xml.XhtmlBuffer in project Portofino by ManyDesigns.
the class XhtmlFragmentMessageBodyWriter method writeTo.
@Override
public void writeTo(XhtmlFragment fragment, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, final MultivaluedMap<String, Object> httpHeaders, final OutputStream entityStream) throws IOException, WebApplicationException {
OutputStreamWriter writer = new OutputStreamWriter(entityStream);
XhtmlBuffer buffer = new XhtmlBuffer(writer);
fragment.toXhtml(buffer);
writer.flush();
}
use of com.manydesigns.elements.xml.XhtmlBuffer in project Portofino by ManyDesigns.
the class SearchFormTest method setUp.
@Override
@BeforeMethod
public void setUp() throws Exception {
super.setUp();
writer = new StringWriter();
SearchFormBuilder builder = new SearchFormBuilder(AnnotatedBean3.class);
form = builder.build();
buffer = new XhtmlBuffer(writer);
}
use of com.manydesigns.elements.xml.XhtmlBuffer in project Portofino by ManyDesigns.
the class Util method elementToString.
public static String elementToString(XhtmlFragment element) {
XhtmlBuffer xb = new XhtmlBuffer();
element.toXhtml(xb);
return xb.toString();
}
use of com.manydesigns.elements.xml.XhtmlBuffer in project Portofino by ManyDesigns.
the class Util method writeFormattedText.
public static String writeFormattedText(String str, boolean highlightLinks) {
XhtmlBuffer xb = new XhtmlBuffer();
writeFormattedText(xb, str, highlightLinks);
return xb.toString();
}
Aggregations