This guide walks you through configuring an event registration form in Unqork. The form collects company information, auto-fills the requestor's identity from their logged-in session, and allows the requestor to register between one and five participants.
The module uses two Panel components to organize the form into sections, and an Initializer component to populate requestor fields automatically when the module loads.
Prerequisites
- Access to the Unqork Module Builder
- A module created and open in the editor
Module Overview
The module contains the following top-level components:
| Component | key | Type | Purpose |
|---|---|---|---|
| Initializer | initGetRegistrationName |
Initializer | Populates requestor name and email from the logged-in user's session on load |
| Company Panel | panelEventRegistrationImportedCompany |
Panel | Contains company information fields |
| Participant Panel | panelEventRegistrationImportedParticpant |
Panel | Contains participant fields, count validation logic, and the submit button |
How to read settings tables
The tables below describe each configurable option as it displays in the Unqork IDE. Values are formatted as follows:
inline code— a value to type exactly as shown | Bold — a value selected from a drop-down, radio button, tab, or choice chip | ON/OFF — toggle state | ✓ — checkbox checked | ☐ — checkbox unchecked
Step 1: Add the Initializer Component
The Initializer component fires when the module loads and populates the Requestor Name and Requestor Email fields using the logged-in user's session data.
-
Add an Initializer component to the canvas.
-
Configure the following settings:
Setting Value Property ID initGetRegistrationNameCanvas Label Text initGetRegistrationNameTrigger Type New Submission -
In the Inputs section, add the following:
ID Alias currentUser.namenamecurrentUser.emailemail -
In the Outputs section, add the following:
ID Value requestorName=namerequestorEmail=email
The Initializer component reads currentUser.name and currentUser.email from the active session and sends the values to the Requestor Name and Requestor Email fields inside the panelEventRegistrationImportedCompany Panel component when the module loads.
Step 2: Configure the Company Information Panel
Add a Panel component to contain all company-related fields.
-
Add a Panel component to the canvas below the
initGetRegistrationNameInitializer component. -
Configure the following settings:
Setting Value Property ID panelEventRegistrationImportedCompanyCanvas Label Text (leave blank) Modal OFF
Add the following components inside the
panelEventRegistrationImportedCompanyPanel component.
Add the Section Heading
-
Add an HTML Element component inside the
panelEventRegistrationImportedCompanyPanel component. -
Configure the following settings:
Setting Value Property ID htmlCompanyTag h2Content Company Information
Add the Company Name Field
-
Add a Text Field component below the
htmlCompanyHTML Element component. -
Configure the following settings:
Setting Value Property ID companyNameLabel Text Company NameRequired ON
Add the Company Type Drop-Down
-
Add a Dropdown component below the
companyNameText Field component. -
Configure the following settings:
Setting Value Property ID companyTypeLabel Text Company TypeRequired ON Data Source Values -
In the Values section, add the following options:
Label Value ClientClientPartnerPartnerConsulting FirmConsulting Firm
Add the Company Address Field
-
Add an Address Search component below the
companyTypeDropdown component. -
Configure the following settings:
Setting Value Property ID companyAddressLabel Text Company AddressService Type Google Places Format Short Street ✓ Street 2 ✓ City ✓ State ✓ ZIP ✓
Add the Company Email Field
-
Add an Email component below the
companyAddressAddress Search component. -
Configure the following settings:
Setting Value Property ID companyEmailLabel Text Company Email
Add the Company Phone Field
-
Add a Phone Number component below the
companyEmailEmail component. -
Configure the following settings:
Setting Value Property ID companyPhoneNumberLabel Text Company Phoneinput mask (999) 999-9999
Add the Requestor Name Field
The Requestor Name field is disabled because the initGetRegistrationName Initializer component populates it automatically from the logged-in user's session.
-
Add a Text Field component below the
companyPhoneNumberPhone Number component. -
Configure the following settings:
Setting Value Property ID requestorNameLabel Text Requestor NameDisabled ON
Add the Requestor Email Field
Like the Requestor Name field, this field is disabled and auto-fills from the logged-in user's session.
-
Add a Text Field component below the
requestorNameText Field component. -
Configure the following settings:
Setting Value Property ID requestorEmailLabel Text Requestor EmailDisabled ON
Step 3: Configure the Participant Information Panel
Add a second Panel component to contain participant fields, count validation logic, and the submit button.
-
Add a Panel component to the canvas below the
panelEventRegistrationImportedCompanyPanel component. -
Configure the following settings:
Setting Value Property ID panelEventRegistrationImportedParticpantCanvas Label Text (leave blank) Modal OFF
Add the following components inside the
panelEventRegistrationImportedParticpantPanel component.
Add the Section Heading
-
Add an HTML Element component inside the
panelEventRegistrationImportedParticpantPanel component. -
Configure the following settings:
Setting Value Property ID htmlParticipantTag h2Content Participant Information
Add the Instructions Text
-
Add a second HTML Element component below the
htmlParticipantHTML Element component. -
Configure the following settings:
Setting Value Property ID htmlParticipantInstructionsTag pContent Note: A minimum of one, and maximum of five, participants are needed to register for this event.
Add the Participants Uniform Grid
The participants Uniform Grid component lets end-users add between one and five participant records. Each row captures the participant's name, designation, email, and keynote speech participation.
-
Add an Uniform Grid component below the
htmlParticipantInstructionsHTML Element component. -
Configure the following settings:
Setting Value Property ID participantsLabel Text participantsAdd Button Label Add ParticipantsMinimum Rows 1Maximum Rows 5Error (minimum) Must have at least one participant to complete registrationError (maximum) {{data.participants}} must contain no more than 5 ParticipantsAdd Row Trigger calcParticipantArrayLengthDelete Row Trigger calcParticipantArrayLengthNote: The Add Row and Delete Row triggers reference the
calcParticipantArrayLengthCalculator component configured in the Add the Participant Count Calculator section below. Add these triggers after completing that step. -
Add the following components inside the
participantsUniform Grid component:Participant Name
Setting Value Property ID participantNameLabel Text Participant NameType Text Field Required ON Error (required) Participant Name is requiredParticipant Designation
Setting Value Property ID participantDesignationLabel Text Participant DesignationType Text Field Participant Email
Setting Value Property ID participantEmailLabel Text Participant EmailType Email Required ON Error (required) Participant Email is requiredKeynote Speech Participation
Setting Value Property ID participantKeynoteSpeechLabel Text Are you also participating in the Keynote speech?Type Radio Values Yes,No,Maybe
Add the Participant Count Calculator
The calcParticipantArrayLength Calculator component calculates the number of participant rows and sends the count to the participantCount field. It triggers manually when a row is added or deleted from the participants Uniform Grid component.
-
Add a Calculator component below the
participantsUniform Grid component. -
Configure the following settings:
Setting Value Property ID calcParticipantArrayLengthCanvas Label Text calcParticipantArrayLengthTrigger Type Manual Post Trigger ruleCheckParticipantCount -
In the Inputs section, add the following:
ID Required participants✓ -
In the Outputs section, add the following:
ID Formula participantCount=LEN(participants) -
Return to the
participantsUniform Grid component and set the Add Row and Delete Row triggers tocalcParticipantArrayLength.
Add the Participant Count Hidden Field
The participantCount Hidden component stores the participant count calculated by the calcParticipantArrayLength Calculator component.
-
Add a Hidden component below the
calcParticipantArrayLengthCalculator component. -
Configure the following settings:
Setting Value Property ID participantCountLabel Text participantCount
Add the Participant Count Decisions Component
The ruleCheckParticipantCount Decisions component controls the enabled state of the Submit Registration button. It disables the button when there are no participants and enables it when at least one participant exists.
-
Add a Decisions component below the
participantCountHidden component. -
Configure the following settings:
Setting Value Property ID ruleCheckParticipantCountCanvas Label Text ruleCheckParticipantCountTrigger Type Manual Execution Type First -
In the Inputs section, add the following:
ID participantCount -
In the Outputs section, add the following:
ID Property btnSubmitRegistrationdisabled -
Add the following decision rows:
participantCount btnSubmitRegistration (disabled) 0yes(empty) no
Add the Submit Registration Button
The Submit Registration button is disabled by default. The ruleCheckParticipantCount Decisions component enables it once at least one participant is added.
-
Add a Button component below the
ruleCheckParticipantCountDecisions component. -
Configure the following settings:
Setting Value Property ID btnSubmitRegistrationLabel Text Submit RegistrationTheme Primary Action Validate Disabled ON Error Title Oops - {{ errors }} error(s) have been found!Error Message Please check your module and fix fields outlined in redSuccess Message Success!
Changelog
| Date | Change |
|---|---|
| — | Initial publication. |