Demos /

Forum renderers & actions

Seeded example discussions, not real community posts. Try categories, topic and comment pagination, tagged quotes, draft editing and permission-aware actions.

Your browser-session sandbox is temporary, not published, and expires after 30 idle minutes. Simulated personas and OWNER/USER modes are not authentication. Editing: 64 rows, three modules per row. Forum: 128 topics, 512 comments. At most 32 visitor sandboxes; no rate-protection or production-readiness guarantee.

Java composition & forum API

The corresponding renderer composition below makes application-supplied values explicit parameters. The live controller supplies its category component, checked action URLs, body preview and thread-link functions, tag registry and current pagination snapshot. These functions are application policy, not framework defaults.

Renderer composition with application inputs
public static <T extends ForumCategoryData, C> Component categories(
        List<T> values, C context, java.util.function.Supplier<? extends ForumCategoryComponent> component) {
    return ForumCategoryRenderer.<T, C>builder().withCategoryComponentSupplier(component)
        .build().render(values, context);
}
public static <T extends ForumTopicData, C> Component topics(
        List<T> values, C viewer, ForumActionProvider<T, C> actions,
        java.util.function.BiFunction<T, C, String> preview,
        java.util.function.BiFunction<T, C, ForumTopicTitleLink> links,
        ForumTagResolverRegistry tags, ForumTopicRenderer.TopicPagination pagination,
        ForumTopicRenderer.TopicPaginationEndpointResolver endpoint) {
    return ForumTopicRenderer.<T, C>builder().withActionProvider(actions)
        .withBodyTextResolver(preview).withTitleLinkResolver(links).withResolverRegistry(tags)
        .withPaginationHxTarget("#forum-main").withPaginationHxSwap("outerHTML")
        .withPaginationEndpointResolver(endpoint).build().render(values, viewer, pagination);
}

Default category & custom navigation variant

The plain default category is a read-only summary. The live categories below use an application-supplied component to add real navigation links.

Example category

A default summary, not a navigation action.

3 topics
Java composition
DefaultForumCategoryComponent.create().withCategoryId("specimen")
    .withTitle("Example category")
    .withDescription("A default summary, not a navigation action.").withTopicCount(3);

The live example uses category, topic and comment renderers, default topic/comment components, ForumCollapsibleComposer, ForumActionProvider and DefaultForumActionProvider. Data interfaces are implemented by application views. ForumTagParser and a resolver registry expand the seeded quote tags; endpoints enforce the same simulated persona permissions shown in the controls.

Forum helper referenceForumTopicRenderer API

Simulated viewer persona

Simulated viewer (not authentication): Demo User [user-demo]

Categories

Pick a category to drill into topics.

Platform

Announcements

Release notes and important updates.

9 topics

How-To Guides

Implementation tips and walkthroughs.

8 topics

Product

Feedback

General product feedback and usage reports.

7 topics

Feature Requests

Proposals for new capabilities.

7 topics

Community

Off Topic

Community discussion outside product scope.

8 topics