Commit graph

30 commits

Author SHA1 Message Date
Kavin Venkatachalam
15762d0c13 Merge branch 'main' of https://github.com/ToolJet/ToolJet into feat/grid-appbuilder-improvement 2024-04-24 13:17:50 +05:30
Arpit
54b8303bb8
[wip] appbuilder - performance (#9216)
* performance -init

* fixes: child components getting replaced

* child components should be able to added to target containers

* feat: reduce rerender of Dragcontainer (#9217)

* fixes component crash for height incremental

* clean up

* clean up

* clean up

* removes debouncing of currentState updater

* cleanup

* controls update on components' referenced changed

* fixes: widget crash if references are found

* Reduced the load time by combining the appLoad queries loading state

* Debounced initial currentState updates

* reduce debounced time for updating current state

* clean up

* on events updation, referenced component via source id or csa would undergo a new re-render

* Optimize tab navigation by asynchronously handling  event, reducing UI blockage

* off load updating app suggestions until UI renders

* off load app load an page load event to low priority tasks list, resulting in faster app load

* Added blocking updates to macrotask queue and changed Leftsidebar

* Revert "Merge branch 'feat/grid-appbuilder-improvement' into core-performance/appbuilder"

This reverts commit 2e8374ac31, reversing
changes made to 23a86bfe6e.

* fixes: component -extra re-rendering issue on current state changes.

* fixes: extra re-render for each compoennt dnd updates

* reverting computeComponentState back to autoSave callaback

* Fixed showing default children

* Reverted commit 9b88e9f which causes infinite loop

* Removed debuggerStore & unwanted props

* Added profiler hoc

* Implement batch processing and selective flushing for efficient state… (#9278)

* Implement batch processing and selective flushing for efficient state updates in React components, optimizing performance for large-scale applications.

* clean up

* fix: fixed issues with delay of rerender (#9291)

* fix: fixed issues with delay of rerender

* fix: removed unused logs

* fix: removed unused logs

* fix: removed unused logs

* clean up

---------

Co-authored-by: arpitnath <arpitnath42@gmail.com>

---------

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

* clean up

* Fixed the crash on Form component

* Optimize reference update tracking by sourcing from direct modifications rather than state diff comparisons.

* clean up

* fix: update appdefinition to editorstore in viewert (#9297)

* removing current state deps from editor and processing re-renders. and use new resolver inside components (#9298)

* removing current state deps from editor and processing re-renders. Also use new resolver inside components

* perf: update position before state update on dnd (#9301)

---------

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

---------

Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
2024-04-05 15:19:05 +05:30
Johnson Cherian
39cdfdd0e1
hotfix: Fix text component and map component issues (v2.34.2) (#9289)
* hotfix : Not able to view full text while using vertical alignment in text component (#9272)

* fix : not able to view full text while doing justifycontent

* add condition for scroll

* fix

* fix : markdown

* hotfix: Event are not getting triggered in map component  (#9263)

* fix: events not working in map component

* chore : version bump

* typo

* trigger using fireevent

* chore: update version for release (#9293)

---------

Co-authored-by: Kiran Ashok <stepinfwd@gmail.com>
2024-04-04 16:03:28 +05:30
Kavin Venkatachalam
c651b5b510 Resolved merge conflicts and version bump 2023-09-04 13:42:50 +05:30
Kiran Ashok
aabe7bb492
Feature :: Exposing CSA for child widgets of form and listview (#7142)
* feat :: exposing child widget of form and listview  , removing register action

* feat :: exposing only components and not child items

* fix :: removing value of funcation info

* lint fixes

* reverted

* test commit :: lint fix

* fix :: initial render showing all components

* fix :: data and children values are same

* kanban breaking fix

* fix for exposed variable not being accessible in initial render

* comments

* fix :: all components showing up in inspector during initial render for form and listview widget

* reduce rerenders in button due to exposed vars

* combining useeffects for lesser rerenders

* fix showing of child widgets of list and form in inspector during intial render

* fix :: ui break

* combining useeffects in form

* test commit :: reducing rerenders fromsetexposed variable called multipole time

* fix :: reduce rerenders by combining multiple setExosedvariable calls

* Revert "fix :: reduce rerenders by combining multiple setExosedvariable calls"

This reverts commit 78c9e46944.

* bugfix

* bugfix :: events not firing

* fixes and revertions

* fix :: perf checking for parent in box in case of form and listview

* fix :: initial render bug

* fix :: removed csa functions from listview data key

* fix bugs , actions not working

* fix :: dependencies

* fix :: testing bugs

* tabs:: event firing bug

* fix :: multiselect not firing event

* bugfix ::  multiselect csa not triggering

* fix :: kanban csa

* fix :: table csa , kanban move card

* fix :: bug filepicker csa
2023-09-01 13:55:03 +05:30
Kavin Venkatachalam
cfbbc81e7b
Added polygon path property to map component (#7343)
* Added polygon path property to map component

* Added fx support for polygon and markers in map

* Version bump
2023-08-29 16:04:35 +05:30
Kiran Ashok
4267027465
Bugfix :: Box shadow is getting applied to the surrounding box (#6802)
* feat :: temp commit added box shadow for freq used components

* fix :: box shadow for all components

* cleanup

* review :: changes , sending boz shadow with styles

* fix :: apply box shadow to the item instead of container

* fix :: daterange picker shadows
2023-06-29 15:14:05 +05:30
Midhun Kumar E
eaa5b6d4ae
Add data-cy (#5411) 2023-01-24 15:03:45 +05:30
Sherfin Shamsudeen
4ee35e7eac
Add setState functions of components as dependencies for registerAction (#4120) 2022-09-27 10:55:51 +05:30
Kavin Venkatachalam
7f702c1d6b
[Feature]: Added Localisation (#3746)
* Added localisation

* Closed modal after language selection

* updated transaltaion setup

* Updated language tooltip

* Added fallback language support

* Adding english library resource for translation (#3844)

* Adding English dictionary for the widget lists in the inspector

* added leftSideBar object in en.json and implemented it for leftSidebar icon text

* renamed leftSideBar to leftSidebar and added resources for tip in the left side bar

* added english translation resources for leftsidebar debugger

* added english language resources for the global settings

* added english language resources for data sources in left sidebar

* added english language resources for the share button and share modal in the editor

* added english language resources for release button, manageOrgUsers, appVersionManager

* added english language resources for Queries and Please select a widget to inspect in the editor

* added english language resources for data source list , data source manager, and query manager(partially)

* added english language resources for queryManager, transformation, preview

* added english language resources for dark mode toggle in the headers inside homepage

* added fallback message for dark mode toggle

* added resources for language change in the headers inside homepage

* added resources for notification center in the header inside homepage

* added resources for organization and manage users components in header inside homepage

* added resources in manageGroupPermission

* added resources for manageGroupPermissionsResources component

* added resources for manageSSO and generalSettings components

* added resources for google sso

* added resources for github sso

* added resources for environment variables in manageSSO

* added resources for profile and setting page

* added resources for app card and app card menu

* added resources for folder section and app list in homepage

* added resources for header section in the homepage

* added resources for pagination in homepage

* added resources for modals in the homepage

* added resources for blank page

* added resources for login page

* added resources for forgot password page

* added resources for sign up page

* added resources for onBoarding component

* added resources for reset password page

* deleted duplicate key for readDocumentation

* deleted duplicate key for cancel in en.json and added translation for cancel at few places

* removing duplicate copy of save key in en.json

* added translation for CommentActions.jsx components

* deleted duplicate copy of search key in en.json and added resources for create and search queries , select keys

* fix typo errors

* fixed typo errors

* shorten the key for loginAndSignUpAndForgotPassword to loginSignupPage in en.json file and related files

* shorten the key noLoginMethodsEnabledForThisWorkspace to noLoginMethodsEnabled

* shorten the key pleaseCheckYourEmailForConfirmationLink to emailConfirmLink

* shorten the key dontHaveAccountYet to dontHaveAccount

* shorten keys from loginSignupPage key in en.json

* shorten keys of shareModal nested object in en.json

* shorten the key in appVersionManager nested object

* shorten the keys for queryManager nested object in the en.json

* delete duplicate copy of environmentVar and shorten manageEnvironmentVariables,environmentVariables

* shorten keys in the organization nested object

* shorten keys in the homePage nested object in en.json file

* added inspector and eventManager empty object

* added resources to RedirectSSO component

* added resources for OAuth2

* added resources for TemplateCard.jsx

* added resources for TemplateLibraryModal.jsx

* added resources for ConfirmationPage.jsx

* added resources for ConfirmationPage component

* removed translation in App.jsx file

* added resources for Slack.jsx

* added resources for GoogleSheets.jsx

* added resources for CodeBuilder.jsx

* added resources for CommentBody and CommentFooter

* added resources for TestConnection component

* added resources for AllignButton.jsx

* added resources for Openapi and Stripe components

* added resources for ErrorBoundary

* added resources for Viewer.jsx

* Translation for widgets, table

Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>

* Commented Language selection

* Fixed typos

* Updated fr.json file

Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
2022-09-14 13:34:49 +05:30
Manish Kushare
4cc239661e
Bug fixed : dark theme issues (#4009)
* bug fixed : file picker is not consistent with the dark theme

* bug fixed : Map widget is not consistent with the dark theme

* bug fixed : Steps widget is not consistent with the dark theme

* bug fixed : Multi select widget label is not consistent with the dark theme

* bug fixed : search bar in widget manager and label params in Code Hinter is not consistent with the dark theme

* removed unwanted comma in the chart inspector

* bug fix : app dropdown inside go to app in event manager is not consistent with the dark theme

* bug fixed : search select dropdown is not consistent with the dark theme in table inspector

* bug fixed : Organization and Profile avatar in HomePage is not consistent with the dark theme

* bug fixed : search box in the homepage is not consistent with the dark theme

* bug fixed : select dropdown input placeholder is not consistent with the dark theme

* bug fixed :Text area in the Modal to  Share the app link is not consistent with the dark theme

* bug fixed : p tag in pagination in the homepage is not consistent with the dark theme

* replaced undefined to false as default value of darkMode if not defined

* bug fixed : multiselect input placeholder is not consistent with the dark theme

* removed duplicate code from custom.scss and changed rgb to hex in theme.scss
2022-09-12 14:17:04 +05:30
Navaneeth Pk
98bb7519dd
Reverse proxy using base tag (#3889)
* reverse proxy

* reverse proxy

* Fix for yjs

* Fix for ws

* Fixes org switching

* Fixes org creation

* Fixes login logo

* Fixes download icon

* Construct use invite URL from base URI

* Fixes apiUrl if sub path is set

* Remove commented code

* Fix profile link

* invitation url changes

* Fixes dev env

* Use url-join lib to connect urls for goto app and invitation link

* Use useHistory instead of helper to get history for template modal

* Review changes

Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
2022-08-27 21:58:24 +05:30
Muhsin Shah C P
0722f5d67c
Added setLocation component action to map widget (#3503) 2022-07-11 16:47:31 +05:30
Muhsin Shah C P
4bfc2c7c1c
Fixed: toggle is not working (#2453) 2022-03-14 14:54:07 +05:30
Muhsin Shah C P
1d1685ed6a
Fix: solve map widget issues (#1832)
* disabled rnd dragging on maps widget canvas

* fixed: initial location field doesn't update map on the fly if lat and lng changed

* Exposed googleMapUrl
2022-01-20 00:29:40 +05:30
Arpit
bf4ac12a7b
lint fixes (#1686) 2021-12-30 17:27:02 +05:30
Akshay
5b30aa2007
Chore: Setup pipeline (#1539)
* github actions for PR and push to develop branch

* test workflow

* move to workflows folder

* add setup node action

* modify build

* specify npm version

* config unit test

* specify host postgres

* specify container to run on

* add postgresql dependency

* add specify ws adapter for test

* add e2e test

* fix linting

* only log errors on tests

* update eslint config

* fix linting

* run e2e test in silent mode

* fix library app spec

* dont send email on test env

* fix org scope

* mock env vars

* remove reset modules

* force colors

* explicitly close db connection

* add eslint rule for floating promises

* update workflow

* fix floating promise

* fix lint

* update workflow

* run on all push and pulls

* update lint check files

* simplify workflow

* increase js heap size on env

* separate lint and build

Co-authored-by: arpitnath <arpitnath42@gmail.com>
2021-12-10 08:43:05 +05:30
Navaneeth Pk
20cccd1df7
Responsive canvas (#1363)
* Better canvas

* Better canvas

* Better canvas

* Fix for resize

* Fix for drag

* Fix for drag

* Fix for drag

* Adjust width of components by # of grid lines

* Adjust components to comply with gridline based width

* Fix the width of rigth sidebar

* Fix for subcontainer resize issue

* Fix for dropped widget width (sc)

* Fix subcontainer drag width

* Fix grid for sub container

* Fix viewer

* Fix

* Fix

* Use RnD for dragging within canvas

* bounds for subcontainers

* fix for subcontainers

* Fix for mouseover issue

* Fix

* Fix widget widths

* Fixes chart

* Fixes qr scanner and divider

* Remove scaleValue

* Mmerge fix

* Mmerge fix

* Fix for ormconfig

* Fixes for comments

* Add comment where the user clicked

* Disable dragging on viewer

* Max width for canvas

* Fix for widget click events

* Fix for radio button

* Rebase widget width and left offset for responsive canvas

* Fix

* Fix the width of file picker

* Fix for calendar widget

* Disable zoom selector

* Fixes comment positions

* css fixes

* Fix

* Recompute width and offset of subcontainer widgets based on its parent's width

* Calculate container width separately for modal children while migrating to responsive

* Refactor migration to responsive canvas whereinwhich all mutations are done only after all required changes are computed

Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
2021-11-16 17:14:09 +05:30
Gandharv
22bce1f4fb
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810)
* feat: initial commit for collaboration feature

* add dnd to comments

* add positions endpoint

* feat: encapsulate all http common logic in http-client

* segregate sections and transfer responsibility of state

* feat: use-spring to add fade effect 

* fix: open in right

* fix: left-right position css

* add footer for message

* integrate getcomment endpoint

* use fromnow for date ago

* add dnd

* - Add data trasfer object for comment
- Add class-validator package to check the response type from client
- Add comment repository class for persistance layer
- Add comment service with std. http methods
- Update controller with all http methods
- Update comment module
- Fix http-client bug when error is thrown

* fix http client bug when error is thrown

* feat: add entity thread

* feat: add migrations for thread and comment

* update entitites

* add tid to migration

* filter comments by tid(thread_id)

* fix: comment migration, add missing column comment

* feat: integrate in ui

* feat: split comments based on app_id

* fix: dnd to correct position

* package json engines

* engines update

* update npm

* npm 6 to 7

* fix: add user initials to thread

* fix: add firtname lastname to the comments

* - Return user object when save thread called
- Hide password field from user response
- Fix created_at date typo
- Instead of fetch all threads on new thread added, add the response to array of existing threads

* feat: update ui components

* change icon on comments view

* ui fixes

* fix: close icon close the popover

* temp: comment select: false

* use currentUser from localStorage

* fix: on click outside if comment is open, dont hit addThread

* fix: auth token issue in http-client

* on drag hide the comment if open

* add jwt auth

* spec: add test for comment & thread

* cleanup: remove console.log

* feat: add comment actions

* feat: add edit, delete, resolve options

* feat: add mentions component

* feat: add nestjs websockets

* temp

* websocket: establish client-server communication

* ws: add message listner to comments module in ui

* feat: add broadcast method to broadcast new events to all clients 💣

* ws: cleanup 🤙

* fix: remove max height from comment actions

* feat: add user mentions, emoji support

* fix: add static list of users - temp

* update and delete iterations

* - Rename comment, thread to comments, threads
- Add conditional actions
  - Show edit, delete only if he is comment owner
  - Show resolve only if he is thread owner

* reset engines

* move svgr webpack to deps

* fix: ui issues

* remove log stmt

* refactor: move resolved icon to comment-header

* feat: allow comments to be added on top of widgets

* feat: add keyboard shortcut

* scroll to bottom on comment add

* ui fixes

* feat: add react toast for notification display

* feat: add comment badge

* fix: ws connection

* fix: ws

* remove rvrse

* feat: add comment sidebar

* feat: add comment right sidebar

* fix: add missing foreign key elements

* - upgrade typeorm to 0.2.38
- comment sidebar ui
- added filter ui

* feat: on click of right sidebar notificaiton open the comment box

* reset engines

* fix: add organization id to the comment and thread module

* fix: add current version id

* add currentversion id

* disable comments if no id present

* temp:checking for heroku deploy

* fetch app on edit and deploy version

* rename current_version_id to app_versions_id

* ui fixes

* show mentioned user in blue color

* add ui changes

* add authorization for create thread

* change color to blue on click of comment, add auth for other endpoints of thread

* update threads, notifications using socket

* add auth for comments

* remove events spec file

* fix duplicate key error

* fix notificaitons updation on edit, delete, resolve buttons clicked

* update notifications for edit

* feature toggle changes for frontend

* add check for comments server

* add emoji mart package for emoji

* add reply count in comment sidebar

* subtract 1 from count in comment sidebar

* change empty text when no comments available
2021-11-01 12:58:03 +05:30
Arpit
26c9cc655c
Fix linting errors across the app (#785)
* eslint-setup: rules for frontend and server

* setup pre-commit:hook

* frontend:eslint fixes

* frontend eslint errors and warning fixed

* eslint:fix for ./server

* fix server/test: expectatin string lint/error

* pre-commit:updated

* removed unwanted install cmd from docker file

* recommended settings and extension for vscode

* husky prepare script added

* updated extension recommendations

* added prettier as recommended extension

* added pre-commit to package.json

* remove .prettierrc file

* resolve changes

* resolve changes
2021-09-21 19:18:28 +05:30
Gandharv
1587321f4a
Feature: show errors in codehinter previews (#765)
* add error to suggestion box in codehinter

* rename variable to withError
2021-09-16 17:31:22 +05:30
Akshay
6bd08608ad
Feature: Client fetches public config from server (#713)
* add /api/config endpoint to serve public config

* client requests public config before app render

* update default public config for whitelist
2021-09-09 21:38:07 +05:30
Navaneeth Pk
8041834210
Show map center (#678) 2021-09-02 20:50:42 +05:30
Arpit
67ca8f1461
Feature: disable widgets (#653)
* widgets can be disabled

* removed whitespace

* move to styles definitions

* default values fixed with nullish operator

* proper data attributes

* generic resolver function for widget value

* renamed the style property
2021-09-02 19:41:59 +05:30
navaneeth
f0b181df89 Style fixes for widgets 2021-09-01 09:43:00 +05:30
Akshay
6703244857
Fixes map marker (#648) 2021-08-31 22:06:31 +05:30
Sherfin Shamsudeen
61d612ed64
Bugfix/component editing inside container (#641)
* Add support for editing and deleting components inside container

* Dont allow config handle click event to propagate

* Supply removeComponent method for Container component
2021-08-30 18:53:58 +05:30
Arpit
7f9f9cb418
backward compatibility for visibility (#640)
* show or hide widgets

* backward compatibility for visibility
2021-08-30 18:21:09 +05:30
Arpit
d6f5fd17dd
Feature: Show or hide widgets (#638) 2021-08-30 17:13:05 +05:30
Manmeet
40d8df936d
Switch DarkMode Styles according to localStorage.getItem('darkMode') (#426)
* Switch DarkMode Styles according to localStorage.getItem('darkMode')

Resource for Styling https://snazzymaps.com/

* Maps extracted to its own Folder
Styles extract to JSON

* Styles imported as JS array, darkmode prop accessed instead of LocalStorage

Co-authored-by: xrimpy <=>
2021-08-04 20:46:46 +05:30