Options
All
  • Public
  • Public/Protected
  • All
Menu

The Tooltip component is used to create a tooltip for an element. It requires a single child element to be passed to it. Passing multiple children or fragments will throw an error.

You should use this for any tooltips you create to allow for backwards compatibility when we switch to another tooltip library instead of Bootstrap tooltips.

If you need to pass multiple children, surround them with another element, such as a <span> or <div>.

Note: this component will overwrite the title attribute of the first child you pass to it, as this is how the current tooltip system works in Flarum. This shouldn't be an issue if you're using this component correctly.

example

Basic usage

example

Use of position and showOnFocus attrs 3 replies

example

Incorrect usage // This is wrong! Surround the children with a or similar. Click here

Hierarchy

Index

Constructors

constructor

Properties

attrs

The attributes passed into the component.

see

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

Private childDomNode

childDomNode: null | HTMLElement = null

element

element: Element

The root DOM element for the component.

Private firstChild

firstChild: null | Vnode<any, any> = null

Private oldText

oldText: string = ''

Private oldVisibility

oldVisibility: undefined | boolean

Private shouldChangeTooltipVisibility

shouldChangeTooltipVisibility: boolean = false

Private shouldRecreateTooltip

shouldRecreateTooltip: boolean = false

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.

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

Private checkDomNodeChanged

  • checkDomNodeChanged(): void
  • Checks if the tooltip DOM node has changed.

    If it has, it updates this.childDomNode to the new node, and sets shouldRecreateTooltip to true.

    Returns void

Private createTooltip

  • createTooltip(): void

Private getRealText

  • getRealText(): string

onbeforeremove

onbeforeupdate

oncreate

oninit

onremove

onupdate

Private recreateTooltip

  • recreateTooltip(): void

Private updateVisibility

  • updateVisibility(): void

view

Static component

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

Static initAttrs

  • initAttrs(attrs: unknown): void

Generated using TypeDoc version 0.22.10