Class DiscussionPage<CustomAttrs>

The DiscussionPage component displays a whole discussion page, including the discussion list pane, the hero, the posts, and the sidebar.

Type Parameters


  • Page<CustomAttrs>
    • DiscussionPage



attrs: CustomAttrs

The attributes passed into the component.


bodyClass: string = ''

A class name to apply to the body while the route is active.

discussion: null | Discussion = null

The discussion that is being viewed.

element: Element

The root DOM element for the component.

near: number = 0

The number of the first post that is currently visible in the viewport.

scrollTopOnCreate: boolean = true

Whether we should scroll to the top of the page when its rendered.

state: undefined

Class component state that is persisted between redraws.

Updating this will not automatically trigger a redraw, unlike other frameworks.

This is different to Vnode state, which is always an instance of your class component.

This is undefined by default.

stream: null | PostStreamState = null

A public API for interacting with the post stream.

useBrowserScrollRestoration: boolean = true

Whether the browser should restore scroll state on refreshes.


  • Returns a jQuery object for this component's element. If you pass in a selector string, this method will return a jQuery object, using the current element as its buffer.

    For example, calling component.$('li') will return a jQuery object containing all of the li elements inside the DOM element of this component.


    the jQuery object for the DOM node



    • Optional selector: string

      a jQuery-compatible selector string

    Returns JQuery<HTMLElement>

  • When the posts that are visible in the post stream change (i.e. the user scrolls up or down), then we update the URL and mark the posts as read.


    • startNumber: number
    • endNumber: number

    Returns void

  • Initialize the component's attrs.

    This can be used to assign default values for missing, optional attrs.


    • attrs: unknown

    Returns void

Generated using TypeDoc v0.23.24