ToolJet/docs/versioned_docs/version-2.33.0/how-to/use-form-component.md
Akshay 2d08d889de
Release: Community changes (v2.34.0) (#9226)
* add custom resolvers info and editable row selection info (#9057)

* fix system requirements icon

* add auth info for webhooks and fix casing

* add regex custom validation info (#9068)

* [docs]: Marketplace 1.7 updates (#9085)

* [docs] Amazon redshift plugin

* make minor improvements

* add and update docs for marketplace 1.7

* update order of plugins in overview to match sidebar

* create new version

---------

Co-authored-by: Shubhendra <withshubh@gmail.com>

* add the latest version in the versions.json file (#9094)

* [docs]: Update PDF component (#9088)

* update PDF component

* merged with develop and added changes to the new version

* update docs favicon: (#9118)

* [docs] SSO revamp (#9031)

* add method to set default language

* update image settings through custom css and update screenshots for getting started and tooljet concepts (#9158)

* fix read documentation button

* fix formatting for setup icons (#9172)

* fix sidebar link for aws lambda

* Update static media (#9175)

* updated the screenshots

* reduced the gif size

* reverted the package.json file

* edited the zoomed in images and replaced some gifs with screenshots

* removed one gif

* update static media

* update file names

* update toolbar

* fix file names

* fix: dynamodb img path

* update media for org management dashboard

* fix: casing and formatting

* update workspace constant media

* update media in workspace settings and github

* update github sso

* minor change to github sso docs

* minor fix

* update google sso

* change includeCurrentVersion flag to false

---------

Co-authored-by: Asjad Ahmed Khan <iitasjad2001@gmail.com>
Co-authored-by: Asjad Ahmed Khan <60435499+2001asjad@users.noreply.github.com>
Co-authored-by: Karan Rathod <karan.altcampus@gmail.com>

* Feature: Engagespot plugin (#9012)

* feat(plugins): added engagespot plugin

* feat(docs): added engagespot plugin docs

* chore(engagespot-plugin): revised copywritings

* Feature: Databricks data source (#9174)

* plugin-created

* Databricks integration

* icon, error handling

* removed unrelated changes from marketplace and frontend package-lock.json removed runAsync and maxRows timeouts pending

* timeout implementation

* socket timeout and error handling

* resolve comments

* resolve comments2

* solved render issue test connection improvements

* solved undefined error

* fix TJDB not null value fail for is operation (#9055)

* fix TJDB not null value fail for is operation

* handling not null and null case insenstive values

* Support for marketplace plugin deploy on render preview app (#9221)

* Fix for marketplace error on render preview app

* add marketplace build command

* Adding new workflow for building marketplace plugin

* removed render app creation

* [:docs] Add documentation for Databricks plugin (#9224)

* add docs for databricks

* update databricks docs

* update docs

* remove ref to clusters

* bump to v2.34.0

* Fixed data source cypress failure (#9227)

* updated spec with required text

* updated mongodb and import spec

* updated import spec

---------

Co-authored-by: Karan Rathod <karan.altcampus@gmail.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
Co-authored-by: Shubhendra <withshubh@gmail.com>
Co-authored-by: Aman Regu <amanregu@gmail.com>
Co-authored-by: Asjad Ahmed Khan <iitasjad2001@gmail.com>
Co-authored-by: Asjad Ahmed Khan <60435499+2001asjad@users.noreply.github.com>
Co-authored-by: Jobin Jose <129726530+jobin-logidots@users.noreply.github.com>
Co-authored-by: Syed Mohammad Akhtar Rizvi <85864291+ShazanRizvi@users.noreply.github.com>
Co-authored-by: blank0537 <111295371+blank0537@users.noreply.github.com>
Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2024-03-29 19:13:26 +05:30

4.2 KiB

id title
use-form-component Use Form Component

In this guide, we'll create a simple app that uses a Form component to add records to a database. We'll use ToolJet Database as our data source.

1. Create a Table in ToolJet Database

  • Create a table named products in ToolJet Database.
  • Create three columns - name, quantity and price.
  • Add some sample data to the table.
Database Table

2. Create the UI

  • Create a new app and drag and drop a Table component on the canvas.
  • Drop a Form next to it.
  • Since we have three columns in the database, let's update the Form with one Text Input for name and two Number Inputs for quantity and price.
  • Name the three input fields on the form as - nameInput, quantityInput and priceInput. Name the button as submitButton.
User Interface
Naming the components can help in easily identifying or referring individual components when there are a large number of components in the app.

3. Load the Table Component With Data

  • Click on the Add button in the Query Panel, select ToolJet Database
  • Rename the query to getProducts
  • Choose products as Table name, List rows as Operations
  • Enable Run this query on application load? to automatically run the query when the app starts
  • Click on Run to fetch data
  • Click on the Table component to open its properties panel on the right. Under the Data property, paste the below code:
{{queries.getProducts.data}}
Table with Data

4. Write Data Using the Form Component

  • Click on the Add button in the Query Panel, select ToolJet Database
  • Select products as Table name, Create row as Operations
  • Rename the query to addProduct
  • Click on Add Column and add three columns - name, quantity and price
  • Enter code below for name, quantity and price column keys:
{{components.form.data.nameInput.value}}
{{components.form.data.quantityInput.value}}
{{components.form.data.priceInput.value}}

To ensure the Table component updates with new data after adding products, trigger the getProducts query following each addProduct query execution. Here's how:

  • Click on New event handler in the addProduct query to add a new event.
  • For the new event, leave the event as Query Success, set Run Query as the Action and choose getProducts as the Query.
Refresh Table

This process refreshes the Table component with the latest data from the database.

  • Next, click on the Form component and set Button To Submit Form as submitButton.
  • Add a New event handler to the Form component. Keep On submit as Event, Run Query as Action and select addProduct as the Query.
Table with Data

Now if you enter the product data on the form and click on Submit. The addProduct query will run and the entered data will be written to the products table in the ToolJet Database.

Final Preview

In this how-to guide, we have explored a practical application of the Form component in ToolJet. You can apply the same principles for a variety of use cases that requires data input from the end-user.