* fix:Add array datatype to execute request
* feat: Consume and store type of array elements in Param class (#16994)
* Append param instead of clientDataType in varargs (#16994)
* Refactor common data type handling w.r.t newer structure (#16994)
This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use
* Remove comma delimited numbers from valid test cases (#16994)
* Fix extracting clientDataType from varargs in MySQL (#16994)
* Pass param as a dedicated parameter in json smart replacement (#16994)
* Remove varargs from json smart replacement method (#16994)
* Move BsonType to mongoplugin module (#16994)
* Introduce NullArrayType and refactor BsonType test cases (#16994)
* Add new test cases on numeric string with leading zero (#16994)
* Refactor test case name (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)
* Add data type test cases for Postgres and change as per review comments (#16994)
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
* fix: update UI as per design
* fix: rename disconnect to revoke
* fix: update DISCONNECT to REVOKE
* breaking word with CSS when text is longer than width
Co-authored-by: Ankit Srivastava <ankit@appsmith.com>
* Refactor toast to be passed the dispatch hook externally
* Add comments explaining dilemma
* use store.dispatch instead of a hook
* use alpha version
* Change imports
* Refactor DebugButton out
* update release
* fix issue with incorrectly merged package.lock
* fix syntax of alpha version
* bump ds vesion
* copy lock from release
* update lock to have alpha
* make changes
* delete Toast
* DS package version updated
* import change from release
* use new alpha version
* update ds version
* update ds version
* chore: migrate editable text and friends (#17285)
* Delete empty components
* use alpha for ds
* Deleted EditableTextSubComponent, import changes
* Delete EditableText, import changes
* use ds alpha 10
* Delete EditableTextWrapper.tsx
* update ds to use next minor version
* use new alpha
* fix issue with merge
Co-authored-by: Albin <albin@appsmith.com>
* chore: migrate file picker v2 (#17308)
* use alpha ds
* Delete FilePickerV2, import changes
* Delete FilePicker, change imports
* update alpha version
* chore: move copy url form into setting components (#17322)
* move CopyUrlForm to src/pages/settings/formgroup
* update ds version to use next minor release
* feat: Migrate table component to design system (#17329)
* feat: Migrate table component to design system
* removed commented code in ads index file
* fix: table no data hover effect removed
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
* feat: Banner message component migrated to design system (#17327)
* feat: Banner image component migrated to design system
* Version update for design system package
* design system version updated
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
* feat: Tabs component migrated to design system (#17321)
* feat: Tabs component migrated to design system
* design system package version updated
* Update app/client/src/components/editorComponents/form/FormDialogComponent.tsx
* Update app/client/src/pages/Editor/PropertyPane/PropertyPaneTab.tsx
* Tab component expand issue fix
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
* Changes to on page load logic and consumption for update layout
* Slight clean up, tests and stuff
* - Added evaluationVersion logic based on application configuration
- Added configuration for slim and fat container rts availability
- Added backup logic of string comparison for slim containers
- Added tests for both paths
* Changes to on page load logic and consumption for update layout
* Slight clean up, tests and stuff
* Cleaned up comments all over
* Why isn't there even a setting to disable auto re-formats
* update rts logic to use updated shared AST logic
* Make changes to naming conventions
* Some temp stuff to check if update layout API changes will work out
* Added health check endpoint in RTS
* Added types for AST request
* update: type for save page request object
* update: return type for getEditorConfigs func
- Added applicationId to the type.
- Fetching from the redux store -> applications -> currentApplication -> id
* update: url generation func for update page API
- added applicationId as query param for the call
* Fixed test failures
* Fixed merge from release with on page load failure messages
* Fixed tests failing after merge
* Review comments, more tests, and fix for array index ref directly after .data path
* Test fix
* Addressed review comments
* Updated comment
* Fixed rts temporarily, added handling for data as function name, left with tests
* fix: failing rts server
* Tests for all types of actions and references
* Changes to test
* Modified type to set
* Test fixes
* Trying to make a test pass
* Added app id in cypress test update dsl
* Added app id in cypress test update dsl
* Added app id in cypress test update dsl
* Removed dep tree temp file
* Resolving compile issues after merging from release
* updated tests for applicationId
* corrected a typo
* fixed some more tests
* updated test
* Updated test
* DSL load AppId fix
* appId removal
* AgHelper LocalStorageCache()
* AgHelper LocalStorageCache() - commit 2
* AgHelper LocalStorageCache() - commit 3
* AgHelper LocalStorageCache() - commit 4
* AllWidgets_Reset_spec - Dsl fix
* Json_spec fix
* S3_2 spec fix
* fixes
* LocalStorageCache fixes
* fixes
* fixes
* fix
* OnLoadActions spec fix
* Promises spec fix
* S3_2 spec fix
* 16702 spec update
* OnLoadActions spec trial fix
* RTS fix
Co-authored-by: Nidhi Nair <cataclysm@Nidhis-MacBook-Pro.local>
Co-authored-by: Ayangade Adeoluwa <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Fix error toast messages displayed when an action is cancelled on page load
* Fix failing cypress tests
* fix cypress runtime error
* Fix one more error
We had logic to fix MainCanvas height when a Widget is dragged, resized or deleted. Extending that logic to When a widget is added to mainCanvas as well.
Also added logic to trim mainCanvas width in View Mode.
Also fixing the comodification array error when we are removing items from a list while iterating over it.
Fixes#17030
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* fixes rght body type not selected after curlimport
* added apiContentType key in ActionConfiguration formData property
This commit fixes the bug https://github.com/appsmithorg/appsmith/issues/13978 and changes two files:
* appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
* appsmith-server/src/main/java/com/appsmith/server/services/ce/CurlImporterServiceCEImpl.java
additionaly this commit fixes the Body type detection for REST APIs with GET method when imported from cURL.
* Made changes to the casing of Header key 'content-type', now it is HTTPHeader.CONTENT_TYPE standard -> 'Content-Type'. changed test cases accordingly.
* Made header-key check in assertHeader functions case insensitive in CurlImporterServiceTest.java
* removed wildcard imports and changed some comments
* changes according to PR review comments
* updated imports for APIPaneUtils
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: manish kumar <manish@appsmith.com>
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Fix types and imports
* Update the tests
* Add ref back to the code
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Widget layer optimization
Fix positioned and snipeable component wasted renders
* Some cleanup
* - Few more rough optimization
* Remove console logs
* Clean imports
* Prevent wasted renders of draggable component.
* Add new selector
* - Some code reorganization
- Reduce wasted renders of resizable component
* Clean up positioned container
* Final clean up
* Remove unused import
* Some cleanup based on review comments
* Some code refactoring
* Reduce wasted renderes when dragging and resizing
* Rename getSelectedWidget to getLastSelectedWidget in selectors/ui
Co-authored-by: Satish Gandham <satish@appsmith.com>
This Change includes two parts,
In Debugger Saga, Action is being triggered in a loop, that action is in turn updating Redux State in a loop, This is bad for performance as they end up notifying the all the subscribers of the state. Changed it to update state once rather than doing it individually.
In the Reducer, changed it to ImmerReducer so that only particular object of the local state changes on update rather than updating reference of the entire state.
For nested functions, the trigger meta is not available for subsequent functions. So in cases where the dynamic trigger has the relevant info, we can use that to update the trigger meta and then use that meta to display the source of the logs.
Fixes#16515Fixes#16483Fixes#16514
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* feat: capture console from across the app (#15676)
* create: console override file
- Adds methods to override the given console functionality to capture the console statements written by the user
* update: evaluate function to extract console op
- Added logs extraction for both sync and async functions
- Adding them to the return object of the evaluations
* update: timestamp field to log addition method
- Added optional argument to function definition for inputting the timestamp of the log
- This is done to maintain timings of the execution of the log
* update: interface for log objects
* update: post function execution logic
- Added logic to push the logs generated by the evaluation to the logs store
* update: added handling for sending nested fns
- While console logging functions or objects that had functions was causing an error
- Added a check for removing functions and replacing them with name of the functions instead
* chore: added types and comments
* fix: updated evaluation tests
* fix: added check for log in returned obj
* update: added the source data in the trigger logs
- Removed on js execute logs from showing up here since they are already handled. If they are not removed, they will show up on the first page load twice
* add: ellipsis function for log title string
- This is to keep big object contained in the first line only
* update: made logs reset function public
* update: resetting logs before new eval
- Logs object has to be cleared before next eval can happen to make sure there are no roll overs from last evals
* chore: added comments
* add: extracting logs after eval of functions
* add: storing logs to redux after eval
* refactor: updated types
* add: func to store logs w/ severity as arg
* refactor: updating func call for user logs
* chore: fixed elipsis logic
* chore: removed unused type
* chore: updated preview text logic
* add: type for transfer object post eval
* update: aded new userLogs obj to dataTreeEvaluator
* update: passing logs from object to saga
* update: parsing received userlogs
* refactor: used predefined fns
* refactor: moved resetlogs to common func
* chore: updated comments
* feat: update redux store and UI for system + user logs (#15936)
* update: updated types for the redux store
- Added category and data fields in the log object
* update: types of log redux store
* update: calls for the console log store function
* update: icon fetch func for log item UI
* update: syncing UI with the new designs (WIP)
* chore: fixed lint error
* update: filters for logs
* update: icon for clearing log filters
* update: filtering function
- Added checks against category and severity
* update: logitem UI
- updated type of the UI object
- added css based ellipsis
- added toggle for console logs
- added array of json views for objects/arrays
- css tweaks
* update: debugger cta
- Removed copy option
- Updated UI
* update: logic for expanding user logs
- Removed debugger CTA
- Fixed position for the expand/collapse icon
- Added joining char for when the log is expanded
* update: assets for new UI
- updated colors
- Added new icon
* hotfix: ternserver code
* add: search across the text of log
* update: icons for the app
* update: click to expand/collapse of logs
* fix: search keyword update on change within JSObjects
* fix: alignment of log items in both states
* update: jest tests for debugger errors and filter
* fix: drop down options color issue
- the icon used was not the standard one
- We have a lot of duplicates of the same icon
* fix: synced with ADS changes on release
* fix: remove dependency from old icon
* add: cypress selectors for automation testing
* fix: replaced static messages with variables
* fix: updated the dependency map for filter
* fix: height of the filter drop down
* fix: chaining logic for search filter
* fix: syncing the padding values to ADS
* fix: help icon visibility issue
* fix: width of filter dropdown
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
* add: e2e tests for console statements using IIFE
* test: added test for console logs in jsobjects
* fix: functionality of expanding context menu on msg click
* fix: added try catch and handling for numbers
* hotfix: handling unwanted toasts
* fix: alignment and clickable cursor
* fix: alignment of expanded span in console logs
* add: analytics event on new console log created
* fix: added handling for boolean and undefined
* fix: removed log reset from common func
- Whenever we are creating global DTO, the logs were being reset. This caused logs to reset whenever a promise was encountered in the logs.
* fix: combined JS log saving to widget process
* add: new analytics event on filter changed
* update: added handling for empty value
* update: removed comma between multiple logs
* update: synced test changes with release
* update: removed unused wait timings
* Logs spec script update
* update: ts methods in log spec e2e test
* logs spec update
* update: removed body clicks from test script
* Logs spec update
* update: removed ask from google option
* refactor: ui fixes
* fix: text selection of logs
* fix: updated dropdown width management
* update: made the flushlogs function async
* update: added handling for promises
* update: added test with promises fail and pass
* fix: added sync variant to work for sync objects
* refactor: commented out unused tests
* update: exceptions in the name of log entity
* fix: pagination of logs to handle dynamic data stream
* fix: removed unused async function
* fix: moved logs handling to separate saga
* fix: color for context menu text
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* refactored code for invite modal changes for rbac
* code splitted some more files for refactoring invite modal component
* removed unused imports
* created new variable for handlers
* updated an import
* reverted a change
* refactored a section of code
* fixed a cypress test
* fixed a cypress test
* updated imports
* exported some entities
* replaced all instances of _.isEqual, isEqual from lodash with equal from fast-deep-equal/es6
Co-authored-by: Smruti Parida <smrutiparida@Preetis-MacBook-Pro.local>
* fix: show the form setting in button widget
* test: fix test case
* refactor: code refinement
* refactor: remove hidden fun. for form setting
* refactor: remove unused var
* refactor: recall the old code
* refactor: remove the parent hack for hidden
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Add error.message only to data.reason, since the call stack being sent to responsePayload is different for different browsers. This fix ensures a consistent behaviour across all browsers
* Add integration tests
* Update test to typescript
* Fix error message
* Use new error instead of message object
* Code review fix
* Add else block to catch unknown errors
* Update tests
* Get back to original solution - error solution not working in safari
* initial commit
* props hoc
* changes
* removed ignores and withWidgetProps
* added extra props to canvasStructure
* widget props changes
* list widget changes
* reintroduced widget props hook and other refactors
* remove warnings
* added deepequal for childWidgets selector
* fix global hotkeys and tabs widget jest test
* fix main container test fix
* fixed view mode width
* fix form widget values
* minor fix
* fix skeleton
* form widget validity fix
* jest test fix
* fixed tests: GlobalHotkeys, Tabs, CanvasSelectectionArena and fixed main container rendering
* minor fix
* minor comments
* reverted commented code
* simplified structure, selective redux state updates and other inconsistencies
* fix junit test cases
* stop form widget from force rendering children
* fix test case
* random commit to re run tests
* update isFormValid prop only if it exists
* detangling circular dependency
* fixing cypress tests
* cleaned up code
* clean up man cnavas props and fix jest cases
* fix rendering order of child widgets for canvas
* fix dropdown reset spec
* adding comments
* cleaning up unwanted code
* fix multiselect widget on deploy
* adressing review comments
* addressing minor review comment changes
* destructuring modal widget child and fix test case
* fix communityIssues cypress spec
* rewrite isVisible logic to match previous behaviour
* merging widget props with component props before checking isVisible
* adressing review comments for modal widget's isVisible
Co-authored-by: rahulramesha <rahul@appsmith.com>
* POC: Datatype handling autogenerated naming params client
* added array and file datatype
* handles all primitive types
* paramproperties convetred to map instead of array
* parametermap inversion
* handled no bindings bug
* feat: Consume action execution payload changes w.r.t. data type mapping (#15555)
This commit does the following things
1. It consumes data type metadata from payload
2. It consumes the mapping between the pseudo binding name and original binding name
3. It doesn't apply any logic w.r.t. data type identification after consumption
* added comments and cleaned code with proper datatypes
* removed URLencoding for binding params names
* feat: Remove URL decoding on param keys from server-side codebase (#15555)
* Remove unused import (#15555)
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
* Modify control type for MongoDB Collection field
* Make more form control changes across datasources
* Fix cypress errors
* Fix typescript error
* Fix more cypress tests
* Fix failing MongoDBShoppingCart spec
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>