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

UserPage

Extends:

ComponentPage → UserPage

The UserPage component shows a user's profile. It can be extended to show content inside of the content area. See ActivityPage and SettingsPage for examples.

Member Summary

Public Members
public
public

The user this page is for.

Method Summary

Public Methods
public

content(): VirtualElement

Get the content to display in the user page.

public

init()

public

loadUser(username: String)

Given a username, load the user's profile from the store, or make a request if we don't have it yet.

public

Build an item list for the navigation in the sidebar.

public

Build an item list for the content of the sidebar.

public

view(): *

Protected Methods
protected

show(user: User)

Initialize the component with a user, and trigger the loading of their activity feed.

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.

From class Page
public

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

public

config(isInitialized: *, context: *)

public

init()

Public Members

public bodyClass: string source

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

Override:

Page#bodyClass

public user: User source

The user this page is for.

Public Methods

public content(): VirtualElement source

Get the content to display in the user page.

Return:

VirtualElement

public init() source

Called when the component is constructed.

Override:

Page#init

public loadUser(username: String) source

Given a username, load the user's profile from the store, or make a request if we don't have it yet. Then initialize the profile page with that user.

Params:

NameTypeAttributeDescription
username String

public navItems(): ItemList source

Build an item list for the navigation in the sidebar.

Return:

ItemList

public sidebarItems(): ItemList source

Build an item list for the content of the sidebar.

Return:

ItemList

public view(): * source

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

Override:

Component#view

Return:

*

Protected Methods

protected show(user: User) source

Initialize the component with a user, and trigger the loading of their activity feed.

Params:

NameTypeAttributeDescription
user User