Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Button

A button, and usually wired to any <button> with an action name.

This button also binds to process IDs of the backend. That means that the button is disabled (using the CSS class disabled) while the backend is processing the action that got started when it was clicked. A simple example is below.

In index.html:

<button data-action="run">Run</button>

In analysis.py:

@ databench.on
def run(self):
    """Run when button is pressed."""
    pass

In this form, Databench finds the button automatically and connects it to the backend. No additional JavaScript code is required.

Hierarchy

Index

Constructors

constructor

  • new Button(node: HTMLElement): Button

Properties

_state

_state: ButtonState

actionName

actionName: string

idCount

idCount: number

node

wireSignal

wireSignal: string | object

Static idCounter

idCounter: number = 0

Methods

actionFormat

  • actionFormat(value: any): any
  • Formats the payload of an action.

    Parameters

    • value: any

      Original payload.

    Returns any

    Modified payload.

click

clickCB

  • clickCB(processID: number): void
  • Called on click events. When a button is wired, this function is overwritten with the actual function that is triggered on click events.

    Parameters

    • processID: number

      a random id for the process that could be started

    Returns void

determineActionName

  • determineActionName(node: HTMLElement): string
  • Determine the name of the action that should be associated with the node.

    The action name is determined from the tag's data-action, name or id attribute (in that order).

    Parameters

    • node: HTMLElement

      A HTML element.

    Returns string

    Name of action or null.

determineWireSignal

  • determineWireSignal(node: HTMLElement): string | object
  • Determine the name of the signal that should be listened to from the backend.

    The signal name is determined from the data-signal, data-action, name or id attribute (in that order.) For all attributes apart from data-signal, the value is wrapped in an object like { data: value-of-attribute }. The data-signal value can contain a : which will be used to create an object as well. That means that data-signal="data:myvalue" gives the same result as data-action="myvalue".

    Parameters

    • node: HTMLElement

      A HTML element.

    Returns string | object

    Name of a signal or null.

render

state

Static skipWire

  • skipWire(node: HTMLElement): boolean
  • Determine whether to skip this element.

    This can be forced by adding a data-skipwire=true attribute to the HTML tag.

    Parameters

    • node: HTMLElement

      A HTML element.

    Returns boolean

Static wire

  • wire(conn: Connection, root?: Document | HTMLElement): void
  • Wire all buttons.

    Parameters

    • conn: Connection
    • Optional root: Document | HTMLElement

    Returns void

Generated using TypeDoc