Options
All
  • Public
  • Public/Protected
  • All
Menu

Class IndexPage<CustomAttrs, CustomState>

The IndexPage component displays the index page, including the welcome hero, the sidebar, and the discussion list.

Type parameters

Hierarchy

  • Page<CustomAttrs, CustomState>
    • IndexPage

Index

Constructors

constructor

  • new IndexPage<CustomAttrs, CustomState>(): IndexPage<CustomAttrs, CustomState>

Properties

attrs

attrs: CustomAttrs

The attributes passed into the component.

see

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

Protected bodyClass

bodyClass: string = ''

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

element

element: Element

The root DOM element for the component.

Optional lastDiscussion

lastDiscussion?: Discussion

Protected scrollTopOnCreate

scrollTopOnCreate: boolean = true

Whether we should scroll to the top of the page when its rendered.

state

state: CustomState

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.

Protected useBrowserScrollRestoration

useBrowserScrollRestoration: boolean = true

Whether the browser should restore scroll state on refreshes.

Static providesInitialSearch

providesInitialSearch: boolean = true

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

actionItems

hero

  • hero(): Vnode<{}, {}>

markAllAsRead

  • markAllAsRead(): void

navItems

newDiscussionAction

  • newDiscussionAction(): Promise<unknown>

onbeforeremove

  • onbeforeremove(vnode: VnodeDOM<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

onbeforeupdate

  • onbeforeupdate(vnode: VnodeDOM<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

oncreate

  • oncreate(vnode: VnodeDOM<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

oninit

  • oninit(vnode: Vnode<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

onremove

  • onremove(vnode: VnodeDOM<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

onupdate

  • onupdate(vnode: VnodeDOM<CustomAttrs, IndexPage<CustomAttrs, CustomState>>): void

setTitle

  • setTitle(): void

sidebarItems

  • Build an item list for the sidebar of the index page. By default this is a "New Discussion" button, and then a DropdownSelect component containing a list of navigation items.

    Returns ItemList<Children>

view

  • view(): Element

viewItems

  • Build an item list for the part of the toolbar which is concerned with how the results are displayed. By default this is just a select box to change the way discussions are sorted.

    Returns ItemList<Children>

Static component

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

Static initAttrs

  • initAttrs(attrs: unknown): void
  • Initialize the component's attrs.

    This can be used to assign default values for missing, optional attrs.

    Parameters

    • attrs: unknown

    Returns void

Generated using TypeDoc version 0.22.10