UPDATE: Looks like what I’m trying to do isn’t supported by Forge yet. Nothing to see here, nothing to see.
So, I’m currently trying to develop a custom UI with a Forge macro module. While I can build a macro that has its own custom UI for display, I’m not sure how to craft a custom config
function. It’s not as simple as registering a custom function like it is for the resolver
function. If I do that, I get a screen like this when I click the macro’s edit button in the editor (see screenshot).
My best bet, looking at the type signature, is that I need to export something that matches the return type of the render
function:
export declare const render: (elem: ForgeElement) => (payload: LegacyBackendRuntimePayload, runtimeContext?: BackendRuntimeContext | undefined) => Promise<LegacyClientEffect[]>;
That seems suspect, though, as I don’t necessarily want to be using the ForgeElement
types. The whole goal is to create my own custom UI for editing macro parameters so that I can include complex inputs, like Page Pickers. Is this simply impossible at present in Forge? Or can I somehow shoe-horn in the old connect modules for a custom macro editing experience?
I’ve got a sample repo at Bitbucket that I’ve been playing around with. Latest commit shows the naive attempt at using a resolver function, described above.