Flarum (v2.0.0)
    Preparing search index...

    Held for the whole session, so leaving the deck to read a discussion and coming back finds every column, its scroll position and its pending count as they were.

    Index

    Constructors

    Properties

    announcement: string = ''

    Read out by screen readers after a column is moved without dragging.

    channels: [ChannelKind, Channel, (name: string, data: any) => void][] = []
    configs: DeckColumnConfig[]

    Every stored column, including ones that can't currently be shown.

    customised: boolean

    Whether the member has a layout of their own, rather than the default.

    heartbeat: number | null = null
    lastCheck: number = ...
    recentEvents: Map<string, { at: number; kind: ChannelKind }> = ...
    saveTimer: number | null = null
    split: number | null = ...

    The top row's share of the height, or null for an even split.

    splitTimer: number | null = null
    states: Map<string, DeckColumnState> = ...
    wasLive: boolean = false

    Methods

    • Moves a column delta places along its row, or along the single strip: the keyboard's drag and drop.

      Parameters

      • id: string
      • delta: number
      • flat: boolean

      Returns void

    • Reorders within the single strip that phones and short screens show: the column joins the row of the neighbour it lands after (or before, at the very start), so both rows survive for when there's room for them again.

      Parameters

      • id: string
      • index: number

      Returns void

    • Puts a column at index among the visible columns of row, as a drag and drop leaves it. Hidden columns (an extension disabled, a permission revoked) keep their place in the stored order and don't count.

      Parameters

      • id: string
      • row: number
      • index: number

      Returns void

    • Every event on the public and the member's channel, handed to each column. Realtime sends the member a payload built for them on their own channel, and public discussions' events on the public channel too, so the first copy is dispatched and a later personalised copy only refreshes the store.

      Parameters

      Returns void

    • A column's place among the columns shown beside it: in its row, or along the single strip.

      Parameters

      • id: string
      • flat: boolean

      Returns { count: number; index: number; row: number } | null

    • Parameters

      • split: number | null

        The top row's share of the height; null to split evenly.

      • save: boolean = true

        False while it's still being dragged.

      Returns void

    • Parameters

      • id: string
      • width: number
      • save: boolean = true

        False while the width is still being dragged: it's saved once, when the drag ends.

      Returns void

    • While realtime is connected nothing polls: events drive every column. Events can only be missed while disconnected, so reconnecting catches up once. Without realtime, columns check on the admin's polling interval instead.

      Returns void