* Create initial version of AudioWidget by copying VideoWidget
* Add EventType for AUDIO
* Change default Audio URL to a podcast related to Appsmith
* Add AudioWidget icon
* Change Entity definition for AudioWidget
* Add cypress test
* Add jest test
* fix: typo
* Scaffolding for undo-redo
* undo redo working Poc commit
* memory performance improvements by diffing
* dont run update on undo/redo"
* merging widget postion update and canvas bottom row update into one dsl update.
* fix tabs widget
* Visible updates per undo redo action (#6838)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* resize atomic operation
* fix switch control state issue
* disallow undo/redo for snipping and comment mode
* disallow undo/redo for snipping and comment mode
* fix color picker issue in undo/redo
* add test for replayDSL
* option control fix, adding logs
* minor position change undo redo updates
* add test cases for replayHelpers
* property Upade visual change
* remove unused code
* global hot key jest test for undo redo
* Fixing batch updates on property change..
* add tests for toggle control in property pane
* unwanted utils.
* add tests for text control
* add tests for deletion
* add tests for dropping a new widget
* adding jest test for replayUtils
* add move widget tests
* add tests for color picker control
* add analytics for undo/redo
* add analytics for undo/redo
* tab addition atomic
* cypress tests for propertyPane, toasts and radiowidget optionControl
* replayDSL end of redo stack fix
* property update changes
* menu option control debounce input
* color picker empty undo fix
* fix cypress tests
* widget add/remove atomic
* revert alternative approach to handle atomic operations
* update replayDSL test
* add some comments
* addressing review comments
* flash color for property pane controls
* Fixing adding of tabs widget as well.
* code review comments.
* merging widget postion update and canvas bottom row update into one dsl update.
* fix ordering of tabs property control
* meta property update canvas min height.
* fixing failed specs.
* Fixing entity explorer update on deleting tab from entity explorer.
* address review comments and minor property update changes
* fixing failing tests
* merge conflicts
* changes to cater widget api.
* fix suggested widget table issue
* draggable list for undo redo
* fix widget name focus
* excluding canvas updates.
* fixing codeEditor update on propertySection collapse
* fixed failing test case
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* List Widget UI Test Cases
List Widget UI Test Cases:
Change the List Widget Name
Add or Modify items
Change the Background Color
Change the Item Background Color
Enable Disable Visible
Enable Disable Visible - JS
Adding Query/API
Copy Widget
Delete Widget
Change the list and item background color using JS Button
* Update List_spec.js
Introducing a new widget: Statbox / Statistic box Widget; This is a composite widget which has text and icon in a certain layout that can be easily changed.
Introduced a new field called as total record count which can be used to disable the pagination controls while having server side pagination. If this value is undefined the conditions will be ignored. The total record count is `total count / page size`, all the parameters need to be bound to the query/API for the functionality to work properly
* Upgrade Cypress Version
* Upgrade to 7.6
* update moment library with Dayjs
* updated a test
* Added tests for copy to clipboard
* Added a missing dsl
User now should have access to the table sort column if any through the `{{table.sortOrder}}` API. This will return an object when sort is active > {column: string, order: enum|‘asc’|'desc'}. There should also be a `onSort` action available which can trigger an Event
* TableUITestCases
Commit
* Table-widget-testcases
On Search Text Change Action
Default array data
On Row Selected Action
Explore Widget related documents Verification
On Page Change Action
Default search text
Default selected row
Delete Table Widget
Changing Column data type to "Image"
Changing Column data type to "URL"
Table Widget Functionality To Verify Row Height Functionality
Drage and Drop Table widget and verify default data
Table Widget Functionality To Filter The Data using 'Empty
Table Widget Functionality To Filter The Data using 'Not Empty'
* Discarded changes in cypress.json
Discarded changes in cypress.json
* Updated the test cases
* Undo changes to Cypress.json
Undo changes to Cypress.json
* Added new dsl json file
* Merge branch 'release' into SelectUITestCases
* table test cases fix
Co-authored-by: arslan <>
Many new input widget enhancement added. The widget now has the capability to have its own label and tooltip as helper. The user can now add Icons inside the input widget and align them as well, The user can allow choose the max allowed length of the input. We have also added the isValid property in tandem to the regex property for additional validations using JS expressions
Introducing a new widget: `Checkbox Group`, Users can now create a group of checkboxes and have an action trigger and also be able to refer the selected values from the internal API.
* Added version check
* Added error message for version check while importing the file
* Added TC to check version in exported file
* Added version in FE assets for cypruss test
* added option to multipart form data for file or text upload
* updated styles for the dynamic-text-field-with-dropdown styled component
* added cypress tests for multipart body type
* code refactor: moved constants to ApiEditorConstants.ts
* updated multipart dropdown styles
* minor bug fix
* trimmed white spaces in datasource configuration
* Added cypress tests for MySQLdatasource
* fixed trailing whitespaces bug in mysql datasource configuration
* Fix overflowing text in toasts on safari (#6200)
* [Feature] Generate template page from datasource (#5513)
- Add Generate CRUD page feature
- Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit.
- Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component.
If `renderOption` prop is not defined, it will show default option UI.
- Add getDatasourcesStructure [new entity Selector]
( This will provide all fetched structure of datasources)
> Commit Messages ⬇️
* Show disabled GenPage Button for unsupported DS
* Add Icon in Select Table and Column dropdown
* Add Error message when datasource config has error
* Fix the continous loading state issue
* Add Not supported datasource in select Table
* Add ignoreCache when fetching DS struct
* Go to generate page if initiator=generate-page
* Fix connect new datasource button disabled
* Modify error message for invalid datasource struct
* Add snowflake to supported plugin for template
* Fix Show More option width
* Fix incorrect error msg for valid dS config
* Generate page UI improvements
* Refactor navigation
* Fix Datasource Card UX
* Remove semi-colon from Icon loader
* Refactor contants
* Add executeDatasourceQuery & fetchPluginForm API
- WIP google sheet form UI and functionality
- Implemented fetch all spreadsheet with mock data
* disable S3 and google sheet for generate page
* Update yarn.lock
* Resolve review comments
- Add Messages to `constants/messages`
- Add default value for `fetchActionsForPage` 2nd param
- Add comment
- Remove `onFinishCallback` from `handleFetchedPage`
* move string literal to constants/messages
* Remove hardcoded pluginId implementation
* Refactor getGenerateCRUDEnabledPluginMap selector
* Fix CreateAppInFirstListedOrg test command
* Add getIsGeneratePageInitiator helper func
* Fix Entity explorer Edit option test
* Fix CreateAppForOrg test command
- Add click on build from scratch in generatePage
* Fix deleteDatasource command test
- Click on Datasource Name to Edit, Datasource Card handles the click
* Fix DynamicLayout spec test issue
* Fix pageLoadSpec test
* Disable google plugin & Refactor
- Add useDatasourceOptions hook
* Add datasourceCardMenu in DatasourceEditor.json
* Fix issues
- Add Icon hover clickable control
- Auth API click handler
* Fix Createpage test command
* Add cypress test for generate page flow
* Fix cypress test
* Add Analytics
* Add comments in CloseEditor
* Rename initiator to isGeneratePageMode
* Disable S3 for generate CRUD page
* Fix generate page from existing datasource issue
* Enhance test to verify if data is fetched properly
* Wait for get Actions before execute actions
* Change the cypress route for excute api
Co-authored-by: Pranav Kanade <pranav@appsmith.com>
* Fix xss redirectURL (#6229)
* Update msg
* Revert "Update msg"
This reverts commit 0ac70ea7e9.
* Fix JS error message showing callstack in firefox (#6234)
* Adding expiry of 30 days to session cookies (#6224)
Fixes#5872
Adding an expiry of 30 days to the cookie to ensure that browsers don't delete the cookie when the browser session is closed.
* Removing release-drafter github action (#6248)
* Add Skip tour button in welcome onboarding (#6158)
This allows users to skip the welcome tour, there is an End tour button already present but wasn't easily accessible.
* Fix - #6221 new nav analytics improvements (#6223)
* fixed redirection on connect data click. and updated analytics
* Added generic analytics for all datasource cards
* Add missed new nav analytics for connections (#6233)
* Log event when property pane connected entity is clicked
- Also update screen to source
* Add missed analytic event when user navigates to entity from property pane connection
- Also add entity type info to event
- Refactor to make this happen by moving useGetEntityInfo hook to debugger hooks
* [Fix] Small UI improvements to suggested widgets section (#6190)
* added slight transition to suggested widgets. Adjusted the height of arrows in relationship.
* minor fixes to back btn style in suggested widgets panel
* fixed the size of collapsible icon
* removed a comment
* Fix NPE when Segment key not available correctly (#6244)
* Using local Postgres database instead of remote (#6241)
* Using local Postgres database instead of remote
* Added createdb and usedb at the top
* FEATURE-5852 : make the iframe widget message property accessible (#5897)
-- Add a new meta property for receiving the message from an iframe. Now the user can simply refer to {{iframe.message}} to access the data they receive in an API or widget.
* Disable tern in view mode (#6203)
* Fixed ExecutionParams (#6284)
* Fix test by mocking the response (#6273)
* added cypress tests for users mock datasource
* Fix: Mark comment threads as viewed when they are resolved (#6251)
* -log widget type in analytics service when new thread created
-set viewed=true for resolved threads
* fixed typo
* fix the test case when there is not widget type
* Add analytics event for mock-data creation (#6136)
* Add analytics event for mockdata creation
* Use the correct name for the mockdatasource
* Added FE analytics for mock datasource
* Changes per review
* Remove the method call
* Fix indentation issue
Co-authored-by: Pranav Kanade <pranav@appsmith.com>
* Missing validations (#6281)
* Fix validations for certain scenarios which were missed earlier
* Minor comments feature fixes (#6245)
* Fix comment card click: set visible thread (#6166)
* Fixing bug where the comment feature flag was disabled for all users
* [Fix] Refresh sidebar comments list when a thread is unresolved (#6326)
* fix stop Rich text Editor from crashing on Modal (#6077)
* changed RTE removal mechanism
* modified changes to remove just before initializing
* tinyMCE patch for firefox
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* Sentry typeError fix, with checks (#6256)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* Supporting all ASCII characters in table widget (#6041)
* Updated labels Mock data to Sample data (#6330)
* [perf] propertyControl re-rendering (#5941)
* prevent unnecessry re-renders on property control keyPress
* Changes to memoize with useSelector
* propertyControl re-rendering initial commit
* Optimized and Generalized PropertyControl
* Updating Property Dependencies
* removing useCallback and replacing WidgetEnhancementHelpers with selector
* nested property path changes
* reverting name Change
* tests fixes and adding dependencies for validation structure
Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* Snowflake get structure error resolved for columns query (#6316)
* Table name reference copied from templates body to avoid misconfiguration in action body
* more conditions for run check (#6255)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* Fix comment card click at the view mode (#6332)
* Fix unnecessary renders of ActionCreator, EntityName, CodeEditor and ActionEntityContextMenu (#6242)
* Fix action creator unnecessary render issue
- Optimize the selectors and hooks to return new values only when something has changed.
* Fix ActionEntityContextMenu re-renders issue
* Prevent rerenders of EntityName component
* Fix CodeEditor re-renders
* Use createSelector instead of memoization.
* Cleanup
* - Remove whyDidYouRender
Co-authored-by: Satish Gandham <satish@appsmith.com>
* Multiselect Widget (#5228)
We have now separated the multi-select from the select widget, This has simplified the implementation and helped us resolve any issues we where facing because of the complexity bought by both under the same hood and has also increased the discoverability of the widget for our end users. We have also simultaneously taken up multiple enhancements related to the select and multi-select widget.
* Added instance Id in analytics datapoint (#6252)
* Enable Autocomplete for Static Objects (#6302)
* Remove type from COLORS constant
* Remove type from InputTypes in InputWidget
* Remove type from ReduxActionTypes
* Remove type from ReduxErrorActionTypes
* Remove type from SocialLoginTypes
* Fix widget actions issues
* Remove OPEN_SUB_PANE commented redux action
* updated cypress tests to account for testing trailing spaces in db name and host address
* removed unparsed token
* Commenting test (#6354)
* Add list buckets API to S3 (#6334)
* Add list buckets action method to S3
* Added TC for list bucket method
* FIX#6324 : reset recaptcha token on click and handled button loading explicitly (#6337)
reset re-captcha token on click and handled button loading explicitly such that the user know that the api call has not finished
* Added null check to verify empty layout in generate CRUD page flow (#6359)
* Fix authentication issue while creating mockdata (#6294)
* Re set password to avoid double encryption while creating suffix datasource
* Add test to query on mockdata source
* Check the Authentication type before setting the password
* updated cypress tests for mock datasource
* fixed cypress failing datasources tests
* Fix: Update debugger placeholder text for non-mac (#6142)
* Added logic to show form data requests in debugger (#6350)
* Added logic to show form data requests in debugger
* Tests and comments
* Tests
* Tern server performance fix and Best match fix (#6338)
* Uncomment Gen CRUD page Test (#6371)
* Reorganised test steps to utilise retry action (#6208)
* updated spec with assertion values (#6323)
* updated spec with assert
* updated test
* updated test
* updated dsl
* Improvement: Add limit on password length in user signup (#6312)
* -add max password validation in FE and password validation in BE for signup
* -added unit test for password length limit
* - set max password length to 48
- add password length check in reset password
* -removed password limit check from login
* Fix binding query for the nested data responses (#6372)
* Fix binding query for the nested data responses
* Fix formatting issues and add comments
* Updated comments
* remove code duplications
* Fix: Keep inspect entity in sync with the widget selection in the entity explorer
* docs: Updates event archive
* Navigation Dropdown feedback Changes (#6119)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* Feature: Add API to set and get concurrent app editors (#6292)
* -add an API in RTS to store and retrieve currently online users of an application
* -handled the case when edit app event received before user is authenticated
* -updated authentication API in rts
* close modal on cancel btn click (#6383)
The cancel button in the modal will now by default have the close action configured.
* Button and chart fixes (#6373)
* Added new file button file and fixed the bugs in chart and button
Added new file button file and fixed the bugs in chart and button
* Fixed JS toggle for Button widget
* changed border radius of multiselect widget to 0px (#6349)
* open link inside text component in a new tab (#6205)
* Fix loading test data for Cypress tests in CodeBuild
* Change dropdown widget to select widget in Github labels for automation to work properly (#6386)
* Updating k8s README to point to docs.appsmith.com
* iFrame - When the source url is removed message should be displayed in iframe similar to other widgets (#6295)
* FIX-5414 : iFrame - When the source url is removed message is be displayed within the component
* BUG : Iframe widget: wrong placeholder `Title` (#6053)
Rectified the wrong placeholder in the iframe widget title property.
* Use feature flag api to enable/disable comments (#6322)
* Check if comments are enabled for comment intro modal (#6395)
* Fix ts error release (#6396)
* updated common method (#6397)
* Fix#5740 - Api actions are treated as queries (#6381)
* updated active datasources pane carry proper cta to create new action
* properly creating action names in either api/query context
* added a new separate new api/query btn component
* moved empty datasources warning to messages
* fix: wrap overflow option in multiselect such that all option checkboxes are available(#6403)
* Fix#6160 Updated Text binding for row and removed variable evaluation - Default table data (#6360)
* Icon Button Widget (#5723)
Introducing the **Floating action button / Icon button**. Now you can use this to show small actions as icons. We have added a bunch of styling customisation to this as well. You can bind an onClick action to this and easily trigger an even. The component also automatically resizes within the widget as you scale it while maintaining the right aspect ratio.
* [Fix] Mark resolved threads as read in real time, refresh list when thread resolved status is updated (#6407)
* fix: Font size fixed for consistency between select and multi-select widget (#6400)
* Skip btn comment onboarding (#6331)
* [Fix] Reset comment mode hotkey (#6401)
* Welcome tour GIF and Close button fixes (#6309)
* * Chaged New Query GIF
* Added close button for welcome tour final page
* Changed Run GIF
* Sticky sidebar z-index change
* Added testcases
* Replaced hardcoded colors and text with constants
* Fix: Set a default option in select widget while adding from suggested widgets (#6236)
* Fix jest test for comments by overriding isCommentMode selector (#6027)
* Fix download with URL issue (#6179)
* Bump tar from 6.0.5 to 6.1.6 in /app/client (#6392)
Bumps [tar](https://github.com/npm/node-tar) from 6.0.5 to 6.1.6.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.0.5...v6.1.6)
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update CRUD template For S3 page (#6426)
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
* Cypress tests for commenting feature (#5505)
* Minor fixes for comments on the modal widget (#6368)
* Update permission check for determining a user with dev access for comments intro (#6431)
* Prevent Entire Editor Header from re rendering (#6415)
* Seperate save indicator without rerendering entire Editor Header
* stop unnecessary update to Saved message every second
* moving raw strings to messages
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* [Fix] Focus the comment thread when opened after dismissing (#6437)
* Dont fetch feature flags if not logged in (#6444)
* Update README.md
Fixed a spelling mistake
* Fix: Parse api body to be shown as an object in debugger if possible (#6249)
* Fix: List Widget issues (#6226)
* fix binding
* fix multiple binding not working issue
* use box shadow inset + fix gap issue
* fix container z index issue
* fix resize ux issue
* update container height
* allow selecting list widget only when the property pane is not visible
* fix resize handle overflow issue
* fix dot issue in current item structure + fix resize issue for template
* fix select widget not workign inside list widget issue
* remove unused keys
* fix jest test
* fix derived.js test
* add undefiend check
* add currentIndex for autocomplete
* revert white color to transparent for list container
* fix pagination wrong calculation
* remove beta tag
* fix issue with cypress test failing
* fix issue with dropdown widget
* fix the boolean value issue
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* [Bugfix] Empty object creation in published pages for application object fixed
* Omnibar redesign (#6288)
Omni bar would now have the categories navigation and documentation.
* [skip_changelog] Form login disabled after user uses OAuth login method (#6425)
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
* changed default image to old value loading from cloudinary (#6467)
* Feature: Show a list of realtime app editors (#6286)
* Added support for showing realtime app editors
* emitting an event only when socket is connected
* added a tooltip to show username/email
* using proper selector
* using theme
* created the separate component for listing editors
* created a separate hook for app collab events
* moved collab user type to /entities
* moved user visible strings to message constants
* Revert "moved user visible strings to message constants"
This reverts commit 04ac18a188b0117dd364ad764a4e0103bfd28ef6.
* made provision to reset the concurrent editors list
* Enable auto-start after VM restart (#6428)
* BUG-6029 : Property pane for iFrame widget does not appear on clicking on widget (#6260)
-- Add a overlaid div for iframe
* Added fix for cmd + enter not running google sheets actions (#6446)
* Fix-Catch invalid google recaptcha v3 key error (#6034)
* Handle invalid google recaptcha v3 key
* changed default divider color to light grey (#6335)
* fixed issue where the resize cursor did not appear on the left hand side of the widget (#6380)
* Add null check for the nested data structure (#6479)
* Add null check for the nested data structure
* Add unit test for the null nested data
* Adding a max size of approximately 1 MB of data fetched using appsmith (#6491)
* WIP Restrict fetch size
* Adding a cut off of approximately 1 MB of data fetched in postgres plugin
* Code cleanup
* Minor cleanup
* [Fix] Minor comments feature fixes (#6490)
* Fix skip btn
* update sorting for mentions list
* Show server logs when create cypress user fails
* [Fix test spec]Create a new org for the comments test so existing user roles don't exist (#6477)
* Revert "Supporting all ASCII characters in table widget (#6041)" (#6429)
This reverts commit 3ae1bd6d95.
* Updated flaky test (#6486)
* Updated flaky test
* updated another test
* Store MongoDB creds in separate file from install.sh (#6499)
* Store MongoDB creds in separate file from install.sh
* Move MongoDB credentials to docker.env
* Add Analytics to Generate CRUD template feat (#6503)
* Add Analytics to Generate CRUD template feat
* Add analytics event on datasource click
* Send pluginName instead of plugin obj in analytics
* Fix: Adding checks before we check for disallowCopy (#6214)
* Fix: Adding checks to before we check for disallowCopy
* Adding checks for undo logic when a child delete is undone but the parent is already deleted.
* restore widgets if they have their parent available.
* reported bugs.
* undo only when parent exists.
* Hotfix Table Widget crashes when there is a cyclical dependency (#6505)
* FIX#5254 : dropdown height fixed and made scrollable (#6170)
* will widget pane if user moves away from canvas (#6516)
* Fix: intercom triggers are not working properly (#6512)
* initializing the intercom as soon as the help components are mounted.
* removed log
* Fix: Undo-Delete of Containers fix (#6510)
* Encrypt attributes (#6508)
* encrypt attributes
* updated references to DOM targets for accessing the Mock User datasource
* Fix/omnibar landing bug (#6513)
* hide certificate string using dots on UI (#6533)
* replace actual certificate string with '*' like it is done for hiding password on the UI.
* Updated Template
* fixed failing cypress tests
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Rishabh Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Pranav Kanade <pranav@appsmith.com>
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: yatinappsmith <84702014+yatinappsmith@users.noreply.github.com>
Co-authored-by: Paul Li <82799722+wmdev0808@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Nayan <83352306+nayan-rafiq@users.noreply.github.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
Co-authored-by: Bhavin K <58818598+techbhavin@users.noreply.github.com>
Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Yash Vibhandik <vibhandikyash@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Confidence Okoghenun <cokoghenun@gmail.com>
Co-authored-by: arslanhaiderbuttar <83570904+arslanhaiderbuttar@users.noreply.github.com>
Co-authored-by: haojin111 <63215848+haojin111@users.noreply.github.com>
Co-authored-by: Somangshu Goswami <somangshu.goswami1508@gmail.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: abhishek nayak <nayak.abhishek@gmail.com>
Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Nipun Agarwal <31271538+nipun1999@users.noreply.github.com>
Co-authored-by: Vicky Bansal <67091118+vicky-primathon@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
We have now separated the multi-select from the select widget, This has simplified the implementation and helped us resolve any issues we where facing because of the complexity bought by both under the same hood and has also increased the discoverability of the widget for our end users. We have also simultaneously taken up multiple enhancements related to the select and multi-select widget.
In the date picker widget we now have an option to let the date picker popup remain open until the a positive feedback is given by clicking outside the popup or another widget. In other words the date-picker popup will not close where a date is selected with `closeOnSelection` disabled.
We have also added an option to show date-picker shortcuts to the end user.
Table data was not populating when extra space inside the mustache binding, This is now fixed for list and table widget
* removed return statements from computed values
* list widget responce update
* table data handled return, added migration
* removed unused function
* updatetd rowBinding string generator
* fix failing cypress test
* fix cypress tests
* basic line widget setup
* rename to divider, added icon
* completed divider functionalities
* minor textual updates
* cypress test for divider widget
* tested on local cypress run
* Divider widget jest tests
* basic logic implemented
* arrow head better alignment
* added required svg icons
* divider widget props update
* fix on propertypane dropdown iconSize
* fix capside icon width in property panel
* updated cypress dsl and tests
* minor updates
* cap arrow new implementation
* remove hover animation from divider icon
* updates and optimizations
* moved test class to component
* will show last saved app name if save app name action results in error
* handled duplicate appname update for editing cards
* fixed the app icon update bug
* updated list widget dsl
* update meta properties + default properties map
* update widget registery
* update get meta property
* update metahoc + widgetfactory + data tree evaluator
* try sending function as string to worker
* revert data tree evaluator update
* pass default props map from dataTreeWidget file
* wip
* save child meta properties
* remove console.log
* save meta and default map in list
* update listwidget
* remove console.log + unused variables
* revert getMetaPropertiesMap function
* fix data tree test
* fix list widget test
* fix entity definition test
* fix overriting of item in updatedItems
* remove todo comments
* fix meta prop issue
* revert making meta properties from undefiend to "" & fix filepicker bug
* fix test case
* change items to listData and updatedItems to items
* remove console.log
* fix test
* extract derived properties to dervied.js
* disabled top, left, right resize handler list widget container
* add test for dervied js
* add test for selectedItem
* fix background color bug on hover
* remove console.log
* fix chart widget inside list widget
* fix checkbox issue + points raised by yogesh
* revert the createImmerReducer usage
* fix parse derived properties
* remove internal props object that fails the test
* fix import typo
* allow bottom resize handler
* fix template height check
* fix template height check
* update template size check
* fix the is visible invalid prop issue
* fix migration of list widget phase 2
* fix migration
* remove unused import
* fix migration
* fix migration
* remove console.log
* hide delete option for container in entity explorer
* fix testcases
* remove unused import
* fix switch widget meta prop
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Updated test to handle version
* updated test
* added a small wait
* Assertion updated
* formatted code
* fork test updated
* dsl file added
* Updated test
* Try waiting in the addDsl step
* Other fixes
Co-authored-by: hetunandu <hetu@appsmith.com>
* Added export option to app menu. TODO: call api to download app file
* Added checkbox component and removed unused code
* Added import app without filepicker. Opens modal
* added ability to fetch the exported app
* can download exported application as a json file
* Updated the file picker component to accept other file formats
* WIP import app
* Added functionality to import application json file
* minor fixes
* Made the file type prop mandatory for file picker
* added a test suite for export app
* Test added to check if on import application click, it open a modal
* added a dummy application file for cypress testing
* Added end to end integration test suite
to verify import app feature
* added test to verify the export api status and download file.
* added a linked btn to carry exporting.
- according to latest BE changes
* Removed old redux and saga mechanism for app export
* updated cypress test to validate new flow
* fixed minor linting errors
* updated test case title
* updated the test cases for import/export app feat
* review changes
* added prop to facilitate delayed upload
* added new application file to fixtures. Minor fix to take care of loading state.
* Removed export app modal. Added one click action, to download the file.
* Updated File picker to work with all other files acc to the design.
* Updated the import modal
* updated the import application test
* Added remove upload tooltip
* updated the icons for import/export actions
* removed unused logs
* added hard coded feature flag to hide/show import export feature
Co-authored-by: Pranav Kanade <pranav@appsmith.com>
* Updated test
* updated assertions
* Resizing image to take full width of table cell
* updated assertion
* Stop updating dynamicBindingPathList directly from widget
* Fix selectedRow and selectedRows computations
* Fix primaryColumns computations
* Updated test for derived column
* Added tests for computed value
* Added check clear data
* Reordering of test
* updated common method
* Made image size as 100% of table cell size
* add templating logic
* Updated flow and dsl
* Clear old primary columns
* Updated testname
* updated assertion
* use evaluated values for children
* Fix primary columns update on component mount and component update
* add isArray check
* remove property pane enhancement reducer
* add property pane enhancement reducer
* disable items other than template + fix running property enchancment on drop of list widget
* disbled drag, resize, settingsControl, drag for items other than template
* add grid options
* uncomment the widget operation for add child for grid children
* handle delete scenario for child widget in list widget
* WIP: Use the new delete and update property features
* add listdsl.json for testcases
* add test cases for correct no. of items being rendered
* add test cases currentItem binding in list widget
* change dragEnabled to dragDisabled
* change resizeEnabled to resizeDisabled
* change settingsControlEnabled to settingsControlDisabled
* change dropEnabled to dropDisabled
* update settingsControlDisabled default value
* Use deleteProperties in propertyControls
* Fix unsetting of array indices when deleting widget properties
* remove old TableWidget.tsx file
* Fix derived column property update on primary column property update
* Handle undefined primary columns
* Fix filepicker immutable prop issue
* Fix object.freeze issue when adding ids to the property pane configuration
* fix widget issue in grid
* Fix column actions dynamicBindingPathList inclusion issue
* remove consoles + fix typo around batch update
* Remove redundant tests
* js binding test for date picker
* hydate enhancement map on copy list widget
* check for dynamicleaf
* fixes
* improve check
* fix getNextWidgetName
* update template in list widget when copying
* updating template copy logic when copying widget
* update dynamicBindingPathList in copied widget
* Add path parameter to hidden functions in property pane configs
* fix copy bug when copying list widget
* add computed list property control
* Remove time column type
Fix editor prompt for currentRow
Fix undefined derivedColumns scenario
Remove validations for primaryColums and derivedColumns
Fix section toggle for video, image and button column types
* Fix table widget actions and custom column migrations
* Add logs for cyclical dependency map ♻️
* Process array differences
* add property control for list widget
* Fix onClick migrations
* Property pane config parity
* binding and trigger paths from the property pane config (#2920)
* try react virtualized library
* Fix unit test
* Fix unit test ✅
* Fix minor issues in table widget
* Add default meta props to binding paths to ensure eval and validation
* Dummy commit 🎉
* Remove unnecessary datepicker test
Fix chart data as string issue
* Achieve table column sorting and resizing parity with release
* handle scenario where last column isn't available to access
* Fix for panel config path not existing in the widget
* Fix bindings in currentRow (default)
Add dummy property pane config for canvas widget
* Update canvas widgets with dynamicPathLists on delete of property paths
* Add all diffs to change paths and trim later
* Add back default properties 🚶🏻♂️
* Use object based paths instead of arrays for primaryColumns and derivedColumns
* Fix issue in reordered columns
* Fix inccorect update order
* add virtualized list
* Fix failing property pane tests
* minor change
* minor list widget change
* Remove .vscode from git
* Rename ads to alloy
Fix isVisible in list widget
* move grid component to widget folder
* fix import in widget registry
* add sticky row in virtualized list
* add sticky container
* Fix Height of grid widget items container
* fix dragging of items in children other than template children
* update list widget
* update list widget
* Fix padding in list widget
* hide scrollbar in list widget list
* fix copy bug in list widget
* regenrate enhancement map on undo delete widget
* Use enhancementmap for autocomplete in list widget
Basic styles for list widget scrollbar
* add custom control in widget config
* minor commit
* update scrollbar styles
* remove unused variable
* fix typo in custom control
* comment out test cases
* remove unused imports
* remove unused imports
* add JSON stringify in interweave
* add noPad styling in dragLayer for noPad prop
* implement grid gap
* add list item background color prop
* add white color in color picker control
* fix gap in last list item
* remove onBeforeParse in textcomponent
* remove virtualization in grid widget
* allow overflow-y
* add onListItemClick action
* add beta label
* add pagination
* fix actions in pagination in list widget
* add list widget icon
* add list background color default value
* remove extra div
* fix pagination issue
* fix list widget crashing on perpage change
* extract child operation function to widgetblueprint saga
* refactor enhancements
* add enhancement hook
* refactor propertyUpdate hook enhancment
* remove enhacement map
* revert renaming ads to alloy
* add autopagination
* Cleanup unused vars
Re-write loop using map
Fix binding with external input widget
* update default background color
* remove unnessary scrol + fix pagination per page
* remove console.log
* use grid gap in pixel instead of snap
* fix list widget tests for binding
* add tests for on click action and pagination
* remove unnecessary imports
* remove overflow hidden in list component
* Add feature to enable template actions
* update property pane help text for list widget
* disable pagination in editor view
* update property pane options
* add test case for action
* uncomment tests
* fix grid gap validation
* update test cases
* fix property pane opening issue for list tempalte
* Disable form widgets in list widget
* fix template issue for actions
* add validation tests for list data
* update starting template
* add selectedRow + enable pagination in edit mode
* remove extra padding in list widget + popper fix on settingDisabled
* add stop propagation for button click
* fix click event in edit mode
* disallow filepicker widget for list widget
* add test for list widget entity definition for selectItem
* remove unused imports
* fix test
* remove evaluated value for list child widgets
* add comment
* remove log
* fix copying bug in list widget
* add check for not allowing template to copy
* fix test
* add test for property pane actions
* remove unused import
* add draglayercomponent test
* add test for draggable component
* add test for evaluatedvalue popup
* add test for messages.ts
* add test for widgeticons
* add test for property pane selector
* add test for widget config response
* start testing widget configresponse
* add test for enhancements in widget config
* add test for codeeditor
* add test for base widget + list widget
* add test for executeWidgetBlueprintChildOperations
* remove unused import
* add test for widget operation utils
* remove unused import
* add test for handleSpecificCasesWhilePasting
* remove unused function
* remove unused import
* add empty list styling
* resolve all review comments
* fix message test
* add test for widget operation utils
* fix merge conflicts
* move validations in property config
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
* Property pane enhancements
- Property pane sections are collapsible
- Property pane controls can be hidden conditionally
- Property pane configurations now come from the widget instead of a global config file
- Property pane property updates can be hooked with other related updates
- Property pane control and section ids are generated dynamically now.
* Add chart type: "Custom FusionChart" (#2996)
Co-authored-by: Zeger Hoogeboom <zegerhoogeboom@users.noreply.github.com>
Co-authored-by: zeger <zeger@equinoxai.com>
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
* Updated mongodatasource tests
* Commented assertion for test datasource and updated query test
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
* Usecase for pageload Api and input widget
* Updated test name
* updated tests
* Updated assertion
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
* Added tests for add widget in query
* test updated
* updated test with wait
* Updated binding data
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
- Adds Web workers and does evaluations in off the main thread
- Removes any need to store functions in the data tree and only keeps them around while evaluating
- Maintains a stored data tree in the redux state
- Evaluates based on editor events instead of state changes
* changed chart data to behave as an array <str, str> and not use json stringify to update
added a generic logic to flag all objects with internal bindings as dynamic
moved unescape to only handle at the time of eval and removed new lines before eval
* added a migration for older charts that have their data as strings
* flagged column actions as an action trigger to avoid evaluating it
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Possible fix for plugins not found
* Add user info on smart look
* Add test for form and table inside form reset
* Add test for postgres nested data render
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
* grouped data tree functions together in autocomplete
* Updated autocomplete styles
* Updated property pane styles to become more dense
* Fixed lightning menu styling
* fixed tests
* Fixed Cypress test
* added property to show / hide tabs
* fixed selected tabs not updating
* fixed cypress tests for tabs
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
This PR adds the build, test & package workflow to the client code base as well.
In order for us to run the Cypress tests, we also spin up a local server in a Docker container and run all our tests against that server. This ensures that our tests are faster to run as well.
We also introduce the concept of stubbing network requests by stubbing the API that fetches the property pane configuration from the server.
Results for the Cypress tests can be viewed at: https://dashboard.cypress.io/projects/eyxvp8/runs/
The current push for fixing tests in the new ACL flow.
1. New way to handle create application.
2. API login
3. Removed redundant tests.
4. Fixed Issues wrt ACL changes
Add pagination Cypress tests
This adds tests for server-side pagination in a table.
Pagination via table pageNo and by responseUrl are covered in this scenario.
See merge request theappsmith/internal-tools-client!693
- Show path along with url in the api pane for embedded datasource
- Add store as datasource menu option for embedded datasource
- Allow users to type the path for global datasources
- Show the base url as a tag along with the path for global datasource.
added below tests
* API verb tests added ( POST /PUT/PATCH)
* Query param tests (This is also includes invalid and valid)
* Edit APIs( update of api name and api datasource as well)
* mustache API test
* Market Place API test
* Curl POST test