* Fix cloning fails in some cases for organizations
Cloning currently fails in cases like the following:
- Application with no pages
- Pages with no actions
- Pages with more than one action
* Remove debug naming of cloned datasources
* Add test for organization cloning
* Add more tests for organization cloning
* Fix potential race condition in adding pages to an application
* Move db update call to add page to application, into repository
* Use `getIdCriteria` to query for document's _id
* Adding a github action to push to Docker Hub and create Github release when a tag is created on master branch.
* Extracting the tag from the github ref and only tagging the Docker image with the relevant tag.
* Reuse layout that's automatically created with page
* Use correct API for updating a layout
* Commenting out organization cloning test.
* Removed organization cloning test
* Adding a dummy commit to run the pipeline.
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fix layouts not be updated when an action is updated
* Add test for updating onLoadActions when action updated
* Split layout and action test to separate class
* Remove duplicated test in ActionServiceTest
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.
* Table data download changes. Added downlaod icon and button to table widget.
* Table data download changes
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Download table data as CSV implemented
* table data download, unused code removed
* Code refactors and added dependency map with meta props and table data for computing columns
* Table UI breakages on scroll and empty cells fixed
* Handled empty rows in table widget
* Fixed last row cut issue
* Code review changes
* Code review changes
* Added table widget component heights as enum
* code review changes
* Search component in Table widget updated with support for clearing data, renamed properties
* Opening image in new tab on clicking in table widget
* Fixed table craching due to empty data filtering
* Empty extra space on loading removed in table widget
* Removed stopping of event propagation on table widget action button click
* Fixing for test cases
* Table header UI overflow fixed
* Clearing selected row on searching data in table widget
* fix for cypress test
* Table crash issue fix
* searchKeyword renamed to searchText. searchText added to entity definitions
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
The policies of `User` objects is an empty set by default. So, when using a new `User` object to call `update`, it also updates existing policies to be an empty list.
* Fixing test cases failing due to non unique names.
* Adding execute action permissions policy to match read actions policy in existing actions.
* Only save the action if there are read actions permission present (and hence could have been updated)
* Added Button component in Table widget for actions
* Action button state loading added for Table widget
* Action button font-weight made as normal
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Changed pagination designs in accordance with new layout. This enable user to jump page as well.
* Using colors values from constants
* Table widget pagination, numeric input page number clamped between 1 and total pages
* Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated.
* Table data download changes. Added downlaod icon and button to table widget.
* Table data download changes
* Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent
* Table widget action button alignment fixed
* Handled actions column changes
* added proper keys to useMemo for react table widget
* Download table data as CSV implemented
* table data download, unused code removed
* Code refactors and added dependency map with meta props and table data for computing columns
* Table UI breakages on scroll and empty cells fixed
* Handled empty rows in table widget
* Fixed last row cut issue
* Code review changes
* Code review changes
* Added table widget component heights as enum
* code review changes
* Search component in Table widget updated with support for clearing data, renamed properties
* Opening image in new tab on clicking in table widget
* Fixed table craching due to empty data filtering
* Empty extra space on loading removed in table widget
* Removed stopping of event propagation on table widget action button click
* Table header UI overflow fixed
* Clearing selected row on searching data in table widget
* fix for cypress test
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Datasource test should always test the latest object given by the client (instead of fetching the same from the db). If it is a saved datasource, then we should decrypt and set the password in the datasource (unless the password is one of the changes that is being tested).
* Added function level comment to clarify that this function can no longer be used by just sending the datasource.id field set.
* Handle stale database connection from datasources
* Fix potential secondary case of stale connection error
* Fix Postgres to MySQL
* Move validity check timeout to a constant field
* Add test for recovery when stale connection error is thrown
The plugin class loader from Pf4J looks for jars under target/lib
to use to load any classes that are missing target/classes. This
PR adds the `maven-dependency-plugin` to copy the jars to this
folder automatically so the classes are available during
development.
The client can send the redirect URL in X-Redirect-Url header. The server will honour the value set and redirect the client browser to this particular url. By default the server will redirect to /applications if the custom header is missing. The redirect url can either be absolute or relative.
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
1. Bug fix for when actions for a public application use an external datasource (aka db queries). The db queries were not getting executed because the permission for execute datasource was not getting set for anonymousUser.
2. When using the Test endpoint for datasource, if the datasource is being read from the db and there are encrypted fields, first decrypt the field and then send to the plugin for testing the co
* fix: Table scroll issue, application share issue, eslint errors
- Settings page: whole page should scroll not the table
- Application name to be displayed to user on share
- Fix eslint errors
* fix: Get Application details and pass it to as props.