Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

TaskBindingTable

Renders the standard editable task channel-binding table.

Import

import { TaskBindingTable } from "@dartwic/interface-sdk/ui";

Declaration

export const TaskBindingTable: HostComponent<TaskBindingTableProps>;

TaskBindingTableProps

Standard task binding table shared by plugin task editors.

export interface TaskBindingTableProps extends HostComponentProps {
    title?: string;
    bindings: TaskBinding[];
    onBindingsChange: (bindings: TaskBinding[]) => void;
    bindingTypes: Array<{value: string; label: string}>;
    channelMode?: "read" | "write";
    typeKey?: string;
    addressKey?: string;
    channelKey?: string;
    typeLabel?: string;
    addressLabel?: string;
    channelLabel?: string;
    channelPlaceholder?: string;
    emptyMessage?: string;
    addLabel?: string;
    addDisabled?: boolean;
    normalizeChannelValue?: (value: string) => string;
    createBinding?: (sequence: number) => TaskBinding;
    /** Optional plugin-defined columns rendered with the standard host table styling. */
    columns?: Array<{
        key?: string;
        label: HostNode;
        width?: string;
        render: (binding: TaskBinding, index: number, updateBinding: (binding: TaskBinding) => void) => HostNode;
    }>;
    /** Optional controls replacing the standard single add button. */
    headerActions?: HostNode;
    /** Minimum width of the horizontally scrollable table content. */
    minTableWidth?: string;
}
PropTypeRequirementDescription
titlestringOptional
bindingsTaskBinding[]Required
onBindingsChange(bindings: TaskBinding[]) => voidRequired
bindingTypesArray<{value: string; label: string}>Required
channelMode"read" | "write"Optional
typeKeystringOptional
addressKeystringOptional
channelKeystringOptional
typeLabelstringOptional
addressLabelstringOptional
channelLabelstringOptional
channelPlaceholderstringOptional
emptyMessagestringOptional
addLabelstringOptional
addDisabledbooleanOptional
normalizeChannelValue(value: string) => stringOptional
createBinding(sequence: number) => TaskBindingOptional
columns`Array<{

key?: string;

label: HostNode;

width?: string;

render: (binding: TaskBinding, index: number, updateBinding: (binding: TaskBinding) => void) => HostNode;

}>`
OptionalOptional plugin-defined columns rendered with the standard host table styling.
headerActionsHostNodeOptionalOptional controls replacing the standard single add button.
minTableWidthstringOptionalMinimum width of the horizontally scrollable table content.
classNamestringOptionalAdditional Tailwind or host CSS classes.
childrenHostNodeOptionalChild content rendered by the host component.
idstringOptionalOptional DOM identifier.
styleRecord<string, unknown>OptionalInline style values passed to the host component.