The App class provides a container for an application, as well as various utilities for the rest of the app to use.

Hierarchy

Constructors

Properties

alerts: AlertManagerState = ...

An object that manages the state of active alerts.

booted: boolean = false

Whether or not the app has been booted.

cache: Record<string, unknown> = {}

A local cache that can be used to store data at the application level, so that is persists between different routes.

current: PageState = ...

The page the app is currently on.

This object holds information about the type of page we are currently visiting, and sometimes additional arbitrary page state that may be relevant to lower-level components.

Settings are serialized to the admin dashboard as strings. Additional encoding/decoding is possible, but must take place on the client side.

Inherit Doc

drawer: Drawer

An object that manages the state of the navigation drawer.

extensionCategories: {
    feature: number;
    language: number;
    theme: number;
} = ...

Type declaration

  • feature: number
  • language: number
  • theme: number
extensionData: ExtensionData = ...
forum: Forum

The forum model for this application.

history: IHistory = ...
initialRoute: string
initializers: ItemList<((app: AdminApplication) => void)> = ...

An ordered list of initializers to bootstrap the application.

modal: ModalManagerState = ...

An object that manages modal state.

pane: any = null
previous: PageState = ...

The page the app was on before the current page.

Once the application navigates to another page, the object previously assigned to this.current will be moved to this.previous, while this.current is re-initialized.

route: ((name: string, params?: Record<string, unknown>) => string) & AdminRoutes
routes: Record<string, FlarumGenericRoute> = {}

A map of routes, keyed by a unique route name. Each route is an object containing the following properties:

  • path The path that the route is accessed at.
  • component The Mithril component to render when this route is active.

Example

app.routes.discussion = { path: '/d/:id', component: DiscussionPage };
session: Session

The app's session.

Stores info about the current user.

store: Store = ...

The app's data store.

translator: Translator = ...

The app's translator.

Accessors

Methods

Generated using TypeDoc v0.23.24