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

DiscussionComposer

Extends:

ComponentComposerBody → DiscussionComposer

The DiscussionComposer component displays the composer content for starting a new discussion. It adds a text field as a header control so the user can enter the title of their discussion. It also overrides the submit and willExit actions to account for the title.

Props

  • All of the props for ComposerBody
  • titlePlaceholder

Static Method Summary

Static Public Methods
public static

initProps(props: *)

Member Summary

Public Members
public
public

The value of the title input.

Method Summary

Public Methods
public

Get the data to submit to the server when the discussion is saved.

public
public

init()

public

onkeydown(e: Event)

Handle the title input's keydown event. When the return key is pressed, move the focus to the start of the text editor.

public
public

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 ComposerBody
public

The content of the text editor.

public

The text editor component instance.

public

Whether or not the component is loading.

public

focus()

Draw focus to the text editor.

public

Build an item list for the composer's header.

public

init()

public

loaded()

Stop loading.

public abstract

Handle the submit event of the text editor.

public

Check if there is any unsaved data – if there is, return a confirmation message to prompt the user with.

public

view(): *

Static Public Methods

public static initProps(props: *) source

Initialize the component's props.

Override:

Component#initProps

Params:

NameTypeAttributeDescription
props *

Public Members

public loading: boolean source

Whether or not the component is loading.

Override:

ComposerBody#loading

public title: Function source

The value of the title input.

Public Methods

public data(): Object source

Get the data to submit to the server when the discussion is saved.

Return:

Object

public headerItems(): * source

Build an item list for the composer's header.

Override:

ComposerBody#headerItems

Return:

*

public init() source

Called when the component is constructed.

Override:

ComposerBody#init

public onkeydown(e: Event) source

Handle the title input's keydown event. When the return key is pressed, move the focus to the start of the text editor.

Params:

NameTypeAttributeDescription
e Event

public onsubmit() source

Handle the submit event of the text editor.

Override:

ComposerBody#onsubmit

public preventExit(): * source

Check if there is any unsaved data – if there is, return a confirmation message to prompt the user with.

Override:

ComposerBody#preventExit

Return:

*