Create a Form Element
This article will walk you through creating a new workflow form element for web applications.
Prerequisites
Set up the VertiGIS Studio Workflow TypeScript SDK.
Create a Form Element
- Open up a terminal shell in the SDK folder.
- Run the command
npm run generate
and follow the instructions to create a new form element namedMyCustomElement
. This script creates a custom form element skeleton that you can build on with your own custom logic. The script will perform the following operations:- Create a new form element
.tsx
file with the provided name in thesrc/elements
folder. - Populate the form element
.tsx
file from a form element template. - Exports the element in
src/index.ts
to make it available for use.
- Create a new form element
It's convention to use PascalCase for form element names. You can add multiple activities and form elements to the same project.
In the VertiGIS Studio Workflow TypeScript SDK, form elements are represented by TypeScript React Components.
import * as React from "react";
import {
FormElementProps,
FormElementRegistration,
} from "@vertigis/workflow";
interface DemoProps extends FormElementProps {}
function Demo(props: DemoProps) {
return <div>Hello. I'm a form element!</div>;
}
Registering Form Elements
Form elements must be registered by exporting a registration object declaring your new element.
const DemoElementRegistration: FormElementRegistration<DemoProps> = {
component: Demo,
id: "Demo",
};
export default DemoElementRegistration;
Using Form Elements
Custom form elements can be used in a form through the special Custom form element. This form element displays custom form elements by referencing them by the id
they were registered with. Enter your element's id
in the Custom Type input.
Deploy the Form Element
Follow the instructions to deploy the activity pack.
Test the Form Element
Now you can build a workflow that uses your new custom form element!
Next Steps
Implement a Star Rating Form Element
Implement a custom star rating form element for web applications
Form Element Reference
Learn more about implementing custom form elements
Implement a Custom Activity
Implement a custom activity for web applications
Reference a Third Party Library
Reference a third party library in web applications