On September 25th, 2024, we released v2 of the Apps SDK. To learn what’s new and how to upgrade, see Migration FAQ and Migration guide.

initAppElement

API reference for the initAppElement method.

Parameters

appElementConfigAppElementClientConfiguration<A>Required

Configuration for an AppElementClient

renderAppElementRenderer<A>Required

Registers a callback that renders an app element based on the data it receives.

Parameters

appElementDataARequired

The data the callback must use to render the app element.

Returns

An array of one or more elements to render as output of an app element.

AppElementRendererOutput

Returns

A client that provides methods for creating and managing the lifecycle of an app element.

addOrUpdateElementfunction

This type has been superseded, use addElement or registerOnElementChange instead. If an app element is selected, the element's data is overwritten and the element is re-rendered. Otherwise, the provided data is used to create a new app element.

Parameters

appElementDataARequired

The data to attach to the app element. Existing data will be overwritten.

placementPlacementOptional

The position, dimensions, and rotation of the app element.

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

Returns

Promise<void>

addElementfunction

Adds a new app element to the design.

Parameters

optsAppElementOptions<A>Required

The data and placement of the app element.

dataARequired

The data to attach to the app element.

placementPlacementOptional

The position, dimensions, and rotation of the app element.

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

Returns

Promise<void>

registerOnElementChangefunction

A callback that runs when:

  • the app element is created
  • the app element's data is updated
  • the user selects an existing app element

Parameters

handlerAppElementChangeHandler<A>Required

The callback to run when the app element changes.

Parameters

appElementobject | undefinedRequired

Information about the app element that was changed.

dataARequired

The app element data in its most recent state.

versionnumberRequired

The version number of the app.

updatefunctionRequired

Function to update the app element data.

Parameters

optsAppElementOptions<A>Required

Used to add or update an app element to the design. The update function is provided in the AppElementChangeHandler callback (registerOnElementChange).

dataARequired

The data to attach to the app element.

placementPlacementOptional

The position, dimensions, and rotation of the app element.

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

Returns

Promise<void>

Returns

void

Returns

void