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

Button

Extends:

Component → Button

Indirect Subclass:

AdminLinkButton

The Button component defines an element which, when clicked, performs an action. The button may have the following special props:

  • icon The name of the icon class. If specified, the button will be given a 'has-icon' class name.
  • disabled Whether or not the button is disabled. If truthy, the button will be given a 'disabled' class name, and any onclick handler will be removed.
  • loading Whether or not the button should be in a disabled loading state.

All other props will be assigned as attributes on the button element.

Note that a Button has no default class names. This is because a Button can be used to represent any generic clickable control, like a menu item.

Method Summary

Public Methods
public

view(): *

Protected Methods
protected

Get the template for the button's content.

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 Methods

public view(): * source

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

Override:

Component#view

Return:

*

Protected Methods

protected getButtonContent(): * source

Get the template for the button's content.

Return:

*