Plugins

Covers Engine Plugin SDK 2.0.0 · Interface Plugin SDK 0.2.0

useModuleConfigBridge

Synchronizes save, dirty, and validation state with the host module header.

Import

import { useModuleConfigBridge } from "@dartwic/interface-sdk/module-configs";

Declaration

export function useModuleConfigBridge(
    moduleEditor: ModuleConfigRegistration | null | undefined,
    config: ModuleConfigBridgeState = {},
) {
    const {
        isDirty = false,
        isSaving = false,
        canSave = true,
        errorMessage = "",
        saveLabel = "SAVE CONFIG",
        onSave = null,
    } = config;

    (React as any).useEffect(() => {
        moduleEditor?.register?.({
            isDirty,
            isSaving,
            canSave,
            errorMessage,
            saveLabel,
            onSave,
        });
    }, [moduleEditor, isDirty, isSaving, canSave, errorMessage, saveLabel, onSave]);
}