Working with the Form Workspace Context
Learn how to consume the Form Workspace Context in a backoffice extension to read a form's pages, fields, and other structure.
Consuming the Form Workspace Context
import { html, customElement } from "@umbraco-cms/backoffice/external/lit";
import { UmbLitElement } from "@umbraco-cms/backoffice/lit-element";
import type { UmbPropertyEditorUiElement } from "@umbraco-cms/backoffice/property-editor";
import { FORMS_FORM_WORKSPACE_CONTEXT } from "@umbraco-forms/backoffice";
const elementName = "my-field-picker";
@customElement(elementName)
export class MyFieldPickerElement
extends UmbLitElement
implements UmbPropertyEditorUiElement
{
#workspaceContext?: typeof FORMS_FORM_WORKSPACE_CONTEXT.TYPE;
constructor() {
super();
this.consumeContext(FORMS_FORM_WORKSPACE_CONTEXT, (context) => {
this.#workspaceContext = context;
}).passContextAliasMatches();
}
render() {
return html`<p>Field picker</p>`;
}
}
export default MyFieldPickerElement;
declare global {
interface HTMLElementTagNameMap {
[elementName]: MyFieldPickerElement;
}
}Why passContextAliasMatches() is required
Reading the form structure
Method
Returns
Example: a property editor that picks a form field
Other building blocks
Versioning
Last updated
Was this helpful?