Flarum (2.x)
    Preparing search index...

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

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    The attributes passed into the component.

    bodyClass: string = ''

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

    discussion: Discussion | null = null

    The discussion that is being viewed.

    element: Element

    The root DOM element for the component.

    loading: boolean = true
    near: number = 0

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

    PostStream: any = null
    PostStreamScrubber: any = null
    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: PostStreamState | null = null

    A public API for interacting with the post stream.

    useBrowserScrollRestoration: boolean = true

    Whether the browser should restore scroll state on refreshes.

    Methods

    • 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.

      Parameters

      • Optionalselector: string

        a jQuery-compatible selector string

      Returns JQuery

      the jQuery object for the DOM node

    • 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.

      URL and history writes are skipped when startNumber hasn't changed from the last known position — this prevents double history churn from the immediate post-scroll emit and the subsequent settle-end reconciliation both resolving to the same post. Read-state saves are intentionally independent of this guard and use their own endNumber condition.

      Parameters

      • startNumber: number
      • endNumber: number

      Returns void