* 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>
8.6 KiB
| id | title |
|---|---|
| run-actions-from-runjs | Run Actions from RunJS query |
ToolJet allows you to execute various actions within RunJS queries. This guide outlines the syntax and examples for each action.
Run Query Action
Syntax:
queries.getSalesData.run()
// replace getSalesData with your query name
or
await actions.runQuery('getSalesData')
// replace getSalesData with your query name
Example:
In the following screenshot, we demonstrate triggering two different queries, getCustomers and updateCustomers, using the two available syntax options for the Run Query action.
Set Variable Action
Syntax:
actions.setVariable(variableName, variableValue);
Example:
In this example, we set two variables, test and test2. Note that test contains a numerical value, so it is not wrapped in quotes, while test2 is a string and is wrapped in quotes.
Unset Variable Action
Syntax:
actions.unSetVariable(variableName);
Example:
In the following screenshot, we unset the variable test2 that was created in the previous step.
Logout Action
Syntax:
actions.logout();
Example:
Executing actions.logout() will log out the current user from ToolJet and redirect to the sign-in page.
Show Modal Action
Syntax:
actions.showModal('modalName');
Example:
In this example, a modal named formModal is present on the canvas, and we use a RunJS query to show the modal.
Close Modal Action
Syntax:
actions.closeModal('modalName');
Example:
Here, we use a RunJS query to close the modal that was shown in the previous step.
Set Local Storage Action
Syntax:
actions.setLocalStorage('key', 'value');
Copy to Clipboard Action
Syntax:
actions.copyToClipboard('contentToCopy');
Generate File Action
Syntax:
actions.generateFile('fileName', 'fileType', 'data');
Example for generating a CSV file:
actions.generateFile('csvfile1', 'csv', '{{components.table1.currentPageData}}')
Example for generating a Text file:
actions.generateFile('textfile1', 'plaintext', '{{JSON.stringify(components.table1.currentPageData)}}');
Example for generating a PDF file:
actions.generateFile('Pdffile1', 'pdf', '{{components.table1.currentPageData}}');
Go to App Action
Syntax:
actions.goToApp('slug', queryparams)
slugcan be found in the URL of the released app after theapplication/, or in theSharemodal. You can also set a custom slug for the app in theSharemodal or from the global settings in the app builder.queryparamscan be provided like this[{"key":"value"}, {"key2":"value2"}].- Only the apps that are released can be accessed using this action.
Show Alert Action
Syntax:
actions.showAlert(alertType, message); // alert types are info, success, warning, and error
Example:
actions.showAlert('error', 'This is an error')
Run Multiple Actions from RunJS Query
To run multiple actions from a RunJS query, use async-await in the function. Here's an example code snippet for running queries and showing an alert at specific intervals:
actions.setVariable('interval', setInterval(countdown, 5000));
async function countdown() {
await queries.restapi1.run();
await queries.restapi2.run();
await actions.showAlert('info', 'This is an information');
}
Actions on pages
Switch page
To switch to a page from the JavaScript query, use the following syntax:
await actions.switchPage('<page-handle>')
Switch page with query parameters
Query parameters can be passed through action such as Switch Page. The parameters are appended to the end of the application URL and are preceded by a question mark (?). Multiple parameters are separated by an ampersand (&).
To switch to a page with query parameters from the JavaScript query, use the following syntax:
actions.switchPage('<pageHandle>', [['param1', 'value1'], ['param2', 'value2']])
Set page variable
Page variables are restricted to the page where they are created and cannot be accessed throughout the entire application like regular variables.
To set a page variable from the JavaScript query, use the following syntax:
await actions.setPageVariable('<variablekey>',<variablevalue>)
This enhanced guide provides a detailed walkthrough of executing various ToolJet actions from RunJS queries.