Dynamic Meta-Forms Example (Using Tables)
In this example, I will be creating a form that pulls specific information from a customer contacts table that a user is looking for.
First we are going to click into the ‘Forms’ table and create our form. Essentially this will act as a container for adding sections and fields to the form.
The most important part of this table is to make sure the linked columns are populated with specific information. I am going to populate the ‘Table’ column with the Contacts table in the Customer domain because that is the information I want to use. For the Lookup Label I am going to assign it the ‘Name’ column from the Contacts table. This allows me to pull information from the contacts table using the contacts names.
The next step is to set up the form sections. The form sections act as the headers of the form. These sections also help sort/organize information a user is looking for. For this example, I am going to create three sections to pull information from: Profile, Contact info, and Company.
A couple things to note with this table. The first is the ‘Sequence’ column. This column dictates the order in which the sections appear on the form. For this example I have the form set up to have the sequence follow the natural order of the rows.
Another column to lookout for is the ‘Columns In Row’ column. This column is directly linked to the form fields table, and dictates the organization of information pulled by the form. For this form I have a ‘1’ in the ‘Column In Row’ column for the profile section. That means that any set of information the form section that is more than the number in the ‘Column In Row’ column will be stacked on top of each other.
Note: Added title column to show column stacking, title column is not added in the final example
In the row with ‘Contact info’ I have put ‘2’ for the ‘Columns In Rows’, which means I can have two sets of information populated side by side.
Although these columns are side by side, the ‘Column In Row’ rule still applies. For this example if I want to add more to the contact info section, any columns added to this section will stack under the previous row and so on.
Another column is the ‘Auto-Expand’ column. Checking these boxes will expand each form section so that the information being accessed is shown. Alternatively a user could uncheck these boxes and have to manually open each section when they open the form.
The Final part of Form creation is to populate the Form Fields table. The form fields are the exact sets of information a user wants to retrieve in each form section.
With everything set up in the previous tables, all I have to do in this table is drop in the appropriate values. For this example I populated the ‘F99999orm Section’ column with the sections previously created. As you can see, the entries in the form section table follow the ‘Columns In Row’ column from the sections table (1 entry for profile, 2 entries for contact info and company).
The ‘Table Column’ table is where we link the columns from the table that is storing the information I am looking for. In this example, that would be information in the contacts table in the customer domain. A user can always add more fields to their form, they just have to make sure the sequence column in the form sections table correlates to how many form fields are populated.
After all these tables have been populated, I can go back into the forms table and open the form.
When the form is opened, there are a couple things to point out in the UI. What comes with the form are the tool tips; they are the small pink circles with a question mark next to each of the form columns. When hovering over them, they display the description of their original column.
You can change the wording that shows up by changing the columns description in its original table. For this example, if I wanted to change the wording when I hover over the tooltip next to the name column, I would have to go into the contacts table and edit the name columns description.
But the form is more than just an information viewer. With the form built, it also acts as a medium to enter information. When you click into the completed form, there should be an option on the left hand navigation to ‘Create New Record’.
When creating a new record through the form, a user can only populate the form fields present in the form. In this example, the form only retrieves five different pieces of information, while the contacts table has multiple columns to fill out. Once the new record is created, it will automatically populate in the connected table.
Last modified 4mo ago
Copy link