The AvatarEditor component displays a user's avatar along with a dropdown menu which allows the user to upload/remove the avatar.

Attrs

  • className
  • user

Hierarchy

Constructors

Properties

The attributes passed into the component.

See

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

element: Element

The root DOM element for the component.

isDraggedOver: undefined | boolean

Whether or not an image has been dragged over the dropzone.

loading: undefined | boolean

Whether or not an avatar upload is in progress.

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.

    Returns

    the jQuery object for the DOM node

    Final

    Parameters

    • Optional selector: string

      a jQuery-compatible selector string

    Returns JQuery<HTMLElement>

  • If the user doesn't have an avatar, there's no point in showing the controls dropdown, because only one option would be viable: uploading. Thus, when the avatar editor's dropdown toggle button is clicked, we prompt the user to upload an avatar immediately.

    Parameters

    Returns void

  • Protected

    After a successful upload/removal, push the updated user data into the store, and force a recomputation of the user's avatar color.

    Parameters

    • response: object

    Returns 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 v0.23.24