Options
All
  • Public
  • Public/Protected
  • All
Menu

The PostStream component displays an infinitely-scrollable wall of posts in a discussion. Posts that have not loaded will be displayed as placeholders.

Attrs

  • discussion
  • stream
  • targetPost
  • onPositionChange

Hierarchy

Index

Constructors

constructor

Properties

attrs

The attributes passed into the component.

see

https://mithril.js.org/components.html#passing-data-to-components

calculatePositionTimeout

calculatePositionTimeout: undefined | Timeout

discussion

discussion: any

element

element: Element

The root DOM element for the component.

scrollListener

scrollListener: undefined | ScrollListener

state

state: undefined

Class component state that is persisted between redraws.

Updating this will not automatically trigger a redraw, unlike other frameworks.

This is different to Vnode state, which is always an instance of your class component.

This is undefined by default.

stream

stream: any

Methods

$

  • 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.

    final

    Parameters

    • Optional selector: string

    Returns JQuery<HTMLElement>

    the jQuery object for the DOM node

calculatePosition

  • calculatePosition(top?: number): void
  • Work out which posts (by number) are currently visible in the viewport, and fire an event with the information.

    Parameters

    • top: number = window.pageYOffset

    Returns void

flashItem

getMarginTop

  • getMarginTop(): number

loadPostsIfNeeded

  • loadPostsIfNeeded(top?: number): void
  • Check if either extreme of the post stream is in the viewport, and if so, trigger loading the next/previous page.

    Parameters

    • top: number = window.pageYOffset

    Returns void

onbeforeremove

onbeforeupdate

oncreate

  • oncreate(vnode: any): void

oninit

  • oninit(vnode: any): void

onremove

  • onremove(vnode: any): void

onscroll

  • onscroll(top?: number): void

onupdate

  • onupdate(vnode: any): void

scrollToIndex

  • scrollToIndex(index: number, animate: boolean, reply: boolean): JQueryDeferred<any>
  • Scroll down to a certain post by index.

    Parameters

    • index: number
    • animate: boolean
    • reply: boolean

      Whether or not to scroll to the reply placeholder.

    Returns JQueryDeferred<any>

scrollToItem

  • scrollToItem($item: JQuery<HTMLElement>, animate: boolean, force: boolean, reply: boolean): JQueryDeferred<any>
  • Scroll down to the given post.

    Parameters

    • $item: JQuery<HTMLElement>
    • animate: boolean
    • force: boolean

      Whether or not to force scrolling to the item, even if it is already in the viewport.

    • reply: boolean

      Whether or not to scroll to the reply placeholder.

    Returns JQueryDeferred<any>

scrollToNumber

  • scrollToNumber(number: number, animate: boolean): JQueryDeferred<any>

triggerScroll

  • triggerScroll(): void

updateScrubber

  • updateScrubber(top?: number): void

view

  • view(): Element

Static component

  • component<SAttrs>(attrs?: SAttrs, children?: Children): Vnode<{}, {}>

Static initAttrs

  • initAttrs(attrs: unknown): void

Generated using TypeDoc version 0.22.10