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

PostStreamScrubber

Extends:

Component → PostStreamScrubber

The PostStreamScrubber component displays a scrubber which can be used to navigate/scrub through a post stream.

Props

  • stream
  • className

Member Summary

Public Members
public

The description to render on the scrubber.

public
public

handlers: {}

public

The index of the post that is currently at the top of the viewport.

public
public
public
public

subtree: *

public

The number of posts that are currently visible in the viewport.

Method Summary

Public Methods
public

config(isInitialized: *, context: *)

public

count(): Integer

Get the number of posts in the discussion.

public

Check whether or not the scrubber should be disabled, i.e.

public

Go to the first post in the discussion.

public

Go to the last post in the discussion.

public

init()

public

onclick(e: *)

public
public

onmousedown(e: *)

public

onmousemove(e: *)

public
public
public

onscroll(top: Integer)

When the page is scrolled, update the scrollbar to reflect the visible posts.

public

Get the percentage of the height of the scrubber that should be allocated to each post.

public

Update the scrollbar's position to reflect the current values of the index/visible properties.

public

When the stream is unpaused, update the scrubber to reflect its position.

public

update(scrollTop: Integer)

Update the index/visible/description properties according to the window's current scroll position.

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 description: String source

The description to render on the scrubber.

public dragging: boolean source

public handlers: {} source

public index: Number source

The index of the post that is currently at the top of the viewport.

public indexStart: number source

public mouseStart: number source

public scrollListener: * source

public subtree: * source

public visible: Number source

The number of posts that are currently visible in the viewport.

Public Methods

public config(isInitialized: *, context: *) source

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.

Override:

Component#config

Params:

NameTypeAttributeDescription
isInitialized *
context *

public count(): Integer source

Get the number of posts in the discussion.

Return:

Integer

public disabled(): Boolean source

Check whether or not the scrubber should be disabled, i.e. if all of the posts are visible in the viewport.

Return:

Boolean

public goToFirst() source

Go to the first post in the discussion.

public goToLast() source

Go to the last post in the discussion.

public init() source

Called when the component is constructed.

Override:

Component#init

public onclick(e: *) source

Params:

NameTypeAttributeDescription
e *

public ondestroy() source

public onmousedown(e: *) source

Params:

NameTypeAttributeDescription
e *

public onmousemove(e: *) source

Params:

NameTypeAttributeDescription
e *

public onmouseup() source

public onresize() source

public onscroll(top: Integer) source

When the page is scrolled, update the scrollbar to reflect the visible posts.

Params:

NameTypeAttributeDescription
top Integer

public percentPerPost(): Object source

Get the percentage of the height of the scrubber that should be allocated to each post.

Return:

Object

Return Properties:

NameTypeAttributeDescription
index Number

The percent per post for posts on either side of the visible part of the scrubber.

visible Number

The percent per post for the visible part of the scrubber.

public renderScrollbar(animate: Boolean) source

Update the scrollbar's position to reflect the current values of the index/visible properties.

Params:

NameTypeAttributeDescription
animate Boolean

public streamWasUnpaused() source

When the stream is unpaused, update the scrubber to reflect its position.

public update(scrollTop: Integer) source

Update the index/visible/description properties according to the window's current scroll position.

Params:

NameTypeAttributeDescription
scrollTop Integer

public view(): * source

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

Override:

Component#view

Return:

*