Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

PopupUiDefinition

A named, host-modal workflow which receives one or more merge-compatible backend requests.

Import

import type { PopupUiDefinition } from "@dartwic/interface-sdk";

Declaration

export interface PopupUiDefinition extends NamedContribution {
    component: (props: {
        requests: Array<Record<string, any>>;
        complete(requestId: string, result: unknown): Promise<unknown>;
        dismiss(requestId: string, result?: unknown): Promise<unknown>;
    }) => any;
    /** Human-readable request contract shown in generated plugin documentation. */
    requestType?: string;
    /** Human-readable completion-result contract shown in generated plugin documentation. */
    resultType?: string;
    /** Optional JSON Schema describing each backend request payload. */
    requestSchema?: Record<string, unknown>;
    /** Optional JSON Schema describing the result returned for each completed request. */
    resultSchema?: Record<string, unknown>;
}

Members

NameTypeRequirementDescription
component`(props: {

requests: Array<Record<string, any>>;

complete(requestId: string, result: unknown): Promise;

dismiss(requestId: string, result?: unknown): Promise;

}) => any`
Required
requestTypestringOptionalHuman-readable request contract shown in generated plugin documentation.
resultTypestringOptionalHuman-readable completion-result contract shown in generated plugin documentation.
requestSchemaRecord<string, unknown>OptionalOptional JSON Schema describing each backend request payload.
resultSchemaRecord<string, unknown>OptionalOptional JSON Schema describing the result returned for each completed request.