ToolJet is the open-source foundation of ToolJet AI - the enterprise app generation platform for building internal tools, dashboard, business applications, workflows and AI agents 🚀
Find a file
Johnson Cherian 3169d38d63
Release: Appbuilder S1 (#10081)
* fix : color for all new columns

* revert

* Fix: selection of copy of selected component for ease (#9818)

* fix: selection of copy of selected component for ease

* add pre selection for clonig as well

* add clone check

* fixes selection of components on empty canvas

* Fix: sizing issues in horizontal divider (#9942)

* fix horizontal divider sizing issues

* fix dark mode color in horizontal divider and remove unused class

* add custom fallback for images when not found (#9943)

* cherry pick error message log changes and fix tjdb error logs in debugger (#9951)

* Fix: mouse release on canvas when properties/styles values selected (#9732)

* fix: mouse release on canvas when properties/styles values selected

* fix: event name

* fix: rest api headers empty state while creating new query (#9729)

* fix: selection issue in table row while editing  (#9944)

* allow selection in table cell

* update classname for selection

* display date picker date as text instead of input in read only mode

* Add new revamped multiselect widget (#9837)

* init textinput revamp

* updated styles panel

* bugfix

* updates

* fix :: accordion

* fix :: styling

* add box shadow , additional property,tooltip

* fix conditional render for styles

* feat :: fixed order of each property and styles

* feat :: styling input

* bugfix

* feat :: add option to add icon

* add option to add icon

* adding option to toggle visibility

* updated password input with new design

* chnaging component location

* bugfix

* style fixes

* fix :: added loader

* updated :: few detailing

* few bugfixes

* fix :: for form widget label

* fixes

* added option to add icon color

* including label field for password input

* fix for label

* fix

* test fix backward compatibility for height

* updates

* revert

* adding key for distinguishing older and newer widgets

* testing

* test

* test

* update

* update

* migration testing

* limit vertical resizing in textinput

* testing

* throw test

* test

* adding check for label length

* fixing edge cases

* removing resize

* backward compatibility height

* backward compatibility

* number input review fixes

* added exposed items

* fixing csa

* ui fixes

* fix height compatibility

* feat :: csa for all inputs and exposed variables

* backward compatibility fixes and validation fixes

* fixes :: textinput positioning of loader and icon

* fix :: password input

* cleanup and fixes

* fixes

* cleanup

* fixes

* review fixes

* review fixes

* typo fix

* fix padding

* review fixes styles component panel

* fix naming

* fix padding

* feat :: toggle switch revamp

* init checkbox

* fixes

* fixes

* switch fixes

* validation fix

* fixes

* cleanup

* height fix

* fix height toggle

* updates

* fix :: icons position

* updates

* cleanup

* updates events , csa

* cleanup

* backward compatibility

* clean

* backward compatibility fix

* label fixed to one line

* feat :: change validation from properties

* ui fixes

* icon name

* removed 'px' text from tooltip

* added onchange event for checkbox

* fixes placeholder

* few updates :: removing label in form

* ui in form

* fire onchange

* update :: number input validation behaviour

* testing fixes

* added side handlers

* removing unwanted fx

* disabling fx for padding field

* ordering change

* fix

* label issue + restricted side handler

* fix :: box shadow bug

* fix

* on change event doesnt propagate exposed vars correctly

* adding debounce for slider value change

* fix :: for modal ooen bug during onfocus event

* test slider

* fix :: bugs regarding state update in checbox , slider , slider bug

* update slider with radix slider

* bugfix

* update tooltip

* fix toggle switch

* fixes : inspector

* fix : checkbox label

* Remove date-fns depedency from table datepicker

* Revert Remove date-fns depedency from table datepicker

* feat : checkbox completed

* update checkbox review changes

* feat : toggle component

* feat : added new toggle component

* fix : colors

* updated review changes

* update name for old and new version

* update

* case change

* update

* update icon

* removed padding from checkbox and toggle

* fix naming

* product review and bugfixes : changes

* fix : checkbox setvalue action

* Update setvalue action in toggle

* fixed: section for legacy and new components

* add new version of dropdown

* Add same styles as other input components

* fix height issues

* Add new revamped multiselect widget

* Fix design review

* fix design issues

* Fix

* Fix merge issues

* Add menu portal target

* resolve code comments

* widget config changes

* add hover for clear icon

* fix

* Fix review comments

* Multiselect changes after dropdown merge

* exposed variables

* Delete unused components

* Multiselect fixes

* Dropdown CSS fixes and multiselect fixes

* Fix merge issues

* fix

* Add highlight text

* Change multiselect UI

* fix error message

* fix multiselect opening closing

* placeholder fix

* fix highlighting in multiselect

* fix : testing bugs

* fix : default value

* Fix merge issues

* Fix Qa bugs

* Fix QA bugs

* Fix codehinter default values

* fix fireEvent on focus

* Fixes

* Provide minwidth to dropdown and multiselect

* Fix search input value not getting updated

---------

Co-authored-by: stepinfwd <stepinfwd@gmail.com>
Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>

* Fix: remove mandatory key from password input (#9786)

* Remove date-fns depedency from table datepicker

* Revert Remove date-fns depedency from table datepicker

* remove mandatory key from password input

---------

Co-authored-by: Nakul Nagargade <nakul@tooljet.com>
Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>

* feat : Query manager separated to different tabs (#9823)

* change toggle for query manager and revamp preview

* feat : query manger body revamp

* updates

* fix : tranformation switch

* preview integration

* loader safari changes and overflow fix

* fix

* fix : settings tab QM

* revert few changes to fix datasources page

* revert header options change

* zindex fix for query-pane

* fix : events ui

* fix :events widget manager

* code optimised for this file

* QM header fixes

* dark mode changes

* fix : info icon

* open preview drawer on run query

* fix : query manager query section icons update

* update color

* design feedbacks and make preview panel resizable

* update toggle for preview result & increate draggable area

* fix :review changes

* merge fixes

* Merge branch 'appbuilder-1.8' into feature/query-manager-body

* fix : codehinter in disabled state

* ui fix

* code refactor

* cleanup

* fix fontsize in datasource selector popup

* fix border issue in preview container and increase draggable area

* fix : review fixes

* fix: fixed text css formatting for safari support

* Revert "code refactor"

This reverts commit 4763dd11a3.

* typo

* fix : not able to select text in preview

* fix : not able to view add params

* fix selection issue in preview

* fix : add scroll in query  manager when preview is blocking view

---------

Co-authored-by: Kartik Gupta <gupta.kartik18kg@gmail.com>

* Fixes: select all click behaviour on label (#10108)

* fixes: select all click behaviour on label

* fix: legacy component names

* fix: selecto issue (#10107)

* Fix : Prevent component autofill (#10040)

* fix : prevent other component from autofilling data when password is filled from browser suggestions

* optimise

* feat: skip onDragStop execution if drag event is empty (#10118)

* feat: skip onDragStop execution if drag event is empty

* fix: added additonal logs for  error

* display query preview data in preview panel and display transformation failure stacktrace data in previewpanel as well (#10129)

* Fix while adding new rows in table components when ever entered the text and pressed enter it doubles the text (#10112)

* Integration bugfixes appbuilder 1.8 (#10109)

* fix : query maanager duplicate and preview issue

* fix : multiselect breaking on making dynamic options null

* fix : preview and query panel integration bugs

* fix : placeholder

* fix : doc links

* fix : scroll in TJDB filter section

* fix : portal for multiselect

* fixes

* fix : image column table alignment

* fix : doc link for multiselect

* fix : codehinter state being persited across components

* fix :export app qery manager items not coming in correct order

* fix: search icon position

* code refactor

---------

Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>

* add z-index to app name info header container (#10116)

* Fix dropdown and multiselect crash on integer labels (#10128)

* cast integer labels to string

* add null check for label and provide default value for empty labels

* empty and null handle for schemas and other values

* revert changes

* Fix: dark mode on preview names (#10136)

* fix: dark mode of preview names

* fix background color of preview

* fix tjdb query import (#10134)

* fix :revert radio button name change (#10153)

* Fix: select issue on multiselect (#10137)

* remove portal from multiselect

* fix: dynamic values for options in dropdown/multiselect

* remove fx from default option

* Fix: delete on options delete in dropdown (#10192)

* fix: delete on options delete

* fix: overlapping of multiselect on parent container

* fix: outside click of multiselect

* hotfix : Table breaking on importing older apps with null value in column (#10185)

* fix : table breaking on importing older apps with null value in column

* fix : table crash , codehinter not saving values upon page change

* remove low priority wrapper from autosave

* remove logs

* added delay to autosave as callback

* fix: dropdown crash on invalid data (#10202)

* revert to previous transformation code , fix darkmode color (#10216)

* fix : doclink for dropdown (#10217)

* fix : Transformations value getting cleared / not getting saved (#10218)

* fix : transformation value not getting saved

* remove dependency

* chore: version update for release

---------

Co-authored-by: stepinfwd <stepinfwd@gmail.com>
Co-authored-by: vjaris42 <vjy239@gmail.com>
Co-authored-by: Kartik Gupta <gupta.kartik18kg@gmail.com>
Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
Co-authored-by: Nakul Nagargade <nakul@tooljet.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
2024-07-01 08:46:22 +05:30
.do Update deploy.template.yaml 2023-10-25 14:56:04 +05:30
.github Merge branch 'lts-2.50' into perf/0.1 2024-06-26 16:46:08 +05:30
.husky Setup husky and lint-staged 2021-04-30 15:40:48 +05:30
.vscode revert: reverting the vscode changes 2024-01-02 15:43:12 +05:30
cli [chore] Node-module vulnerabilities (#8226) 2023-12-21 11:55:35 +05:30
cypress-tests Cypress fix platform v18 (#10195) 2024-06-27 10:51:46 +05:30
deploy Correction in Postgrest version 2024-03-05 13:05:08 +05:30
docker render fix 2024-03-14 18:38:35 +05:30
docs feat: Component design system (#9191) 2024-06-18 14:54:30 +05:30
frontend Release: Appbuilder S1 (#10081) 2024-07-01 08:46:22 +05:30
marketplace Merge branch 'main' into release/database-1.1.1 2024-06-06 16:12:01 +05:30
plugins platform release 18 bug fixes (#10156) 2024-06-26 11:44:09 +05:30
server Release: Appbuilder S1 (#10081) 2024-07-01 08:46:22 +05:30
.dockerignore Dev and deploy setup revision (#604) 2021-08-26 20:34:30 +05:30
.env.example remove user_session_expiry from .env.example 2023-07-03 18:04:59 +05:30
.eslintignore [chore] Eslint fixes (#5988) 2023-04-11 15:34:58 +05:30
.gitattributes Fix: Add git attributes file to standardize EOL characters (#3332) 2022-06-27 13:05:56 +05:30
.gitignore Feature: Import export tjdb schema (#5752) 2023-08-28 21:23:15 +05:30
.nvmrc [chore] Node-module vulnerabilities (#8226) 2023-12-21 11:55:35 +05:30
.slugignore changes for heroku fix (#4888) 2022-12-02 22:23:27 +05:30
.version Release: Appbuilder S1 (#10081) 2024-07-01 08:46:22 +05:30
app.json [Improvement] URLs scoped with workspace id (#5487) 2023-04-06 16:42:58 +05:30
Aptfile Feature/oracledb plugin (#2388) 2022-03-15 08:00:02 +05:30
CODE_OF_CONDUCT.md Accessibility features for Tooljet markdown files (#8057) 2023-11-01 16:44:28 +05:30
CONTRIBUTING.md Accessibility features for Tooljet markdown files (#8057) 2023-11-01 16:44:28 +05:30
dependabot.yml explicitly define directories for dependabot 2023-05-03 18:37:06 +05:30
docker-compose.yaml Correction in Postgrest version 2024-03-05 13:05:08 +05:30
heroku-postbuild.sh Move plugins to root (#1728) 2022-01-17 12:38:17 +05:30
LICENSE Switch to AGPL license (#854) 2021-09-28 12:37:26 +05:30
netlify.toml Added configuration to select plugins (#3024) 2022-05-20 19:32:46 +05:30
package-lock.json fixed lint errors (#8532) 2024-01-09 14:17:29 +05:30
package.json feat: Component design system (#9191) 2024-06-18 14:54:30 +05:30
Procfile Fix heroku on click deploy (#5147) 2023-01-03 13:25:45 +05:30
README.md remove heroku from read-me 2024-03-04 13:35:16 +05:30
render.yaml Feature: Make tooljetdb optional (#5062) 2022-12-27 16:18:36 +05:30
SECURITY.md Accessibility features for Tooljet markdown files (#8057) 2023-11-01 16:44:28 +05:30
update-version.js Setup sentry logging as per version and upload its source map (#7143) 2023-09-04 10:00:14 +05:30

ToolJet is an open-source low-code framework to build and deploy internal tools with minimal engineering effort. ToolJet's drag-and-drop frontend builder allows you to create complex, responsive frontends within minutes. Additionally, you can integrate various data sources, including databases like PostgreSQL, MongoDB, and Elasticsearch; API endpoints with OpenAPI spec and OAuth2 support; SaaS tools such as Stripe, Slack, Google Sheets, Airtable, and Notion; as well as object storage services like S3, GCS, and Minio, to fetch and write data.

If you find ToolJet useful, please consider giving us a star on GitHub! Your support helps us continue to innovate and deliver exciting features.

Docker Cloud Build Status Number of GitHub contributors Number of GitHub issues that are open Number of GitHub stars Number of GitHub closed issues Number of GitHub pull requests that are open GitHub release; latest by date GitHub commit activity GitHub license which is AGPL license Follow us on X, formerly Twitter

Tooljet dashboard showing inventory and orders

All features

  • Visual App Builder: 45+ built-in responsive components, including Tables, Charts, Lists, Forms, and Progress Bars.
  • ToolJet Database: Built-in no-code database.
  • Multi-Page: Build an application with multiple pages.
  • Multiplayer editing: Allows simultaneous app building by multiple developers.
  • 50+ data sources: Integrate with external databases, cloud storage, and APIs.
  • Desktop & mobile: Customize layout widths to fit various screen sizes.
  • Self-host: Supports Docker, Kubernetes, AWS EC2, Google Cloud Run, and more.
  • Collaborate: Add comments anywhere on the canvas and tag your team members.
  • Extend with plugins: Use our command-line tool to easily bootstrap new connectors.
  • Version control: Manage multiple application versions with a structured release cycle.
  • Run JS & Python code: Execute custom JavaScript and Python snippets.
  • Granular access control: Set permissions at both group and app levels.
  • Low-code: Use JS code almost anywhere within the builder, such as setting text color based on status with status === 'success' ? 'green' : 'red'.
  • No-code query editors: Query Editors are available for all supported data sources.
  • Join and transform data: Transform query results using JavaScript or Python code.
  • Secure: All the credentials are securely encrypted using aes-256-gcm.
  • Data Privacy: ToolJet serves solely as a proxy and does not store data.
  • SSO: Supports multiple Single Sign-On providers.

Quickstart

The easiest way to get started with ToolJet is by creating a ToolJet Cloud account. ToolJet Cloud offers a hosted solution of ToolJet. If you want to self-host ToolJet, kindly proceed to deployment documentation.

You can deploy ToolJet on DigitalOcean using one-click-deployment.

Deploy to DigitalOcean

Try using Docker

Want to give ToolJet a quick spin on your local machine? You can run the following command from your terminal to have ToolJet up and running right away.

docker run -d \
  --name tooljet \
  --restart unless-stopped \
  -p 80:80 \
  --platform linux/amd64 \
  -v tooljet_data:/var/lib/postgresql/13/main \
  tooljet/try:latest

Tutorials and examples

Time Tracker Application
Build your own CMS using low-code
AWS S3 Browser

Documentation

Documentation is available at https://docs.tooljet.com.

Self-hosted

You can use ToolJet Cloud for a fully managed solution. If you want to self-host ToolJet, we have guides on deploying ToolJet on Kubernetes, AWS EC2, Docker, and more.

Provider Documentation
Digital Ocean Link
Docker Link
AWS EC2 Link
AWS ECS Link
OpenShift Link
Helm Link
AWS EKS (Kubernetes) Link
GCP GKE (Kubernetes) Link
Azure AKS (Kubernetes) Link
Azure Container Link
Google Cloud Run Link
Deploying ToolJet client Link
Deploying ToolJet on a Subpath Link

Marketplace

ToolJet can now be found on both AWS and Azure Marketplaces, making it simpler than ever to access and deploy our app-building platform.

Find ToolJet on AWS Marketplace here and explore seamless integration on Azure Marketplace here.

Community support

For general help using ToolJet, please refer to the official documentation. For additional help, you can use one of these channels to ask a question:

  • Slack - Discussions with the community and the team.
  • GitHub - For bug reports and feature requests.
  • 𝕏 (Twitter) - Get the product updates quickly.

Roadmap

Check out our roadmap to stay updated on recently released features and learn about what's coming next.

Branching model

We use the git-flow branching model. The base branch is develop. If you are looking for a stable version, please use the main branch or tags labeled as v1.x.x.

Contributing

Kindly read our Contributing Guide to familiarize yourself with ToolJet's development process, how to suggest bug fixes and improvements, and the steps for building and testing your changes.

Contributors

License

ToolJet © 2023, ToolJet Solutions Inc - Released under the GNU Affero General Public License v3.0.