Reference Source
import DiscussionList from 'flarum/components/DiscussionList'
public class | source

DiscussionList

Extends:

Component → DiscussionList

The DiscussionList component displays a list of discussions.

Props

  • params A map of parameters used to construct a refined parameter object to send along in the API request to get discussion results.

Member Summary

Public Members
public

The discussions in the discussion list.

public

Whether or not discussion results are loading.

public

Whether or not there are more results that can be loaded.

Method Summary

Public Methods
public

addDiscussion(discussion: Discussion)

Add a discussion to the top of the list.

public

init()

public

Load the next page of discussion results.

public

loadResults(offset: Integer): Promise

Load a new page of discussion results.

public

Parse results and append them to the discussion list.

public

refresh(clear: boolean): *

Clear and reload the discussion list.

public

Remove a discussion from the list if it is present.

public

Get the parameters that should be passed in the API request to get discussion results.

public

Get a map of sort keys (which appear in the URL, and are used for translation) to the API sort value that they represent.

public

view(): *

Inherited Summary

From class Component
public static

component(props: Object, children: *): Object

Get a Mithril component object for this component, preloaded with props.

public static

initProps(props: Object)

Initialize the component's props.

public

element: *

The root DOM element for the component.

public

The properties passed into the component.

public

Whether or not to retain the component's subtree on redraw.

public

$(selector: String): jQuery

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.

public

config(isInitialized: Boolean, context: Object, vdom: Object)

Called after the component's root element is redrawn. This hook can be used to perform any actions on the DOM, both on the initial draw and any subsequent redraws. See Mithril's documentation for more information.

public

Called when the component is destroyed, i.e.

public

Get the renderable virtual DOM that represents the component's view.

This should NOT be overridden by subclasses. Subclasses wishing to define their virtual DOM should override Component#view instead.

protected

init()

Called when the component is constructed.

protected

Get the virtual DOM that represents the component's view.

Public Members

public discussions: Discussion[] source

The discussions in the discussion list.

public loading: Boolean source

Whether or not discussion results are loading.

public moreResults: Boolean source

Whether or not there are more results that can be loaded.

Public Methods

public addDiscussion(discussion: Discussion) source

Add a discussion to the top of the list.

Params:

NameTypeAttributeDescription
discussion Discussion

public init() source

Called when the component is constructed.

Override:

Component#init

public loadMore() source

Load the next page of discussion results.

public loadResults(offset: Integer): Promise source

Load a new page of discussion results.

Params:

NameTypeAttributeDescription
offset Integer

The index to start the page at.

Return:

Promise

public parseResults(results: Discussion[]): Discussion[] source

Parse results and append them to the discussion list.

Params:

NameTypeAttributeDescription
results Discussion[]

Return:

Discussion[]

public refresh(clear: boolean): * source

Clear and reload the discussion list.

Params:

NameTypeAttributeDescription
clear boolean
  • optional
  • default: true

Return:

*

public removeDiscussion(discussion: Discussion) source

Remove a discussion from the list if it is present.

Params:

NameTypeAttributeDescription
discussion Discussion

public requestParams(): Object source

Get the parameters that should be passed in the API request to get discussion results.

Return:

Object

public sortMap(): Object source

Get a map of sort keys (which appear in the URL, and are used for translation) to the API sort value that they represent.

Return:

Object

public view(): * source

Get the virtual DOM that represents the component's view.

Override:

Component#view

Return:

*