Commit Graph

2016 Commits

Author SHA1 Message Date
vicky-primathon
94b829513e
Wrapped table cell value in double quotes to avoid column escape when downloading as CSV (#264) 2020-08-11 17:23:39 +05:30
Trisha Anand
a6496bd5af
Correcting the Docker image for Appsmith server for Github actions test (#260)
* Correcting the Docker image for Appsmith server for Github actions test

* Also fixing the bug where the datasource config is not returned properly for restapi-plugin

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-08-11 16:53:47 +05:30
vicky-primathon
bd4c34f56e
Sorted widget names in lightning menu (#263) 2020-08-11 16:31:34 +05:30
Abhinav Jha
e38bd9f37b
Fix: Missing widgets when searching in entity explorer (#270) 2020-08-11 16:28:39 +05:30
Shrikant Sharat Kandula
115bff546c
Replace class-level generics with method-level in PolicyUtils (#257) 2020-08-11 14:07:52 +05:30
Shrikant Sharat Kandula
3e1522628f
Fix numbers being converted to floats in JSON Post body (#241) 2020-08-11 14:07:34 +05:30
Shrikant Sharat Kandula
0c344115c3
Add transient field on applications to indicate whether it's an example application (#256)
* Add transient field on application to indicate whether it's an example

* Add test for marking of example applications

* Remove unused constant
2020-08-11 14:00:41 +05:30
Shrikant Sharat Kandula
dc10f09906
Fix organization cloning gets stale action IDs inside onLoad actions (#245)
* Fix organization cloning gets stale action ids for onload

* Fix test for onload action's organization after cloning
2020-08-11 13:58:50 +05:30
Trisha Anand
43d633f007
Setting role name while adding a user to an organizaiton. (#258) 2020-08-11 09:45:23 +05:30
Trisha Anand
9d78b020bc
Fix: Multi User Invite (#208)
- Use updated API structure
- Use single API to invite multiple users instead of looping.

Co-authored-by: Tejaaswini <tejaaswini.narendra@codemonk.in>
2020-08-11 09:24:36 +05:30
Trisha Anand
d2442eb815
DO NOT MERGE: Bulk invite user to organization (#182)
* WIP: Not working bulk invite.

* WIP : Non compilable.

* Current test cases running.
TODO : Code Cleanup and write new test cases for bulk invite.

* Code cleanup

* Added a test case for bulk invite of users to an organization.

* Incorporated review comment.

* Merged the latest release and incorporated review comments.

* Corrected the error thrown when usernames is empty or null for invite user API.
2020-08-11 09:24:21 +05:30
Shrikant Sharat Kandula
10faf95e87
Signup form now does a standard HTTP form submit (#234)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-08-10 17:49:46 +05:30
vicky-primathon
76bc382a2d
Table Widget UI Filters (#61)
New Table Widget Feature
- Filter columns
- Misc table widget bug fixes
2020-08-10 16:46:13 +05:30
vicky-primathon
6a53e1e0ed
Added compact modes to table widget UI (#222)
New Feature: Table Widget compact rows
Users can now use different sizes for rows in the table widget
2020-08-10 15:31:36 +05:30
Shrikant Sharat Kandula
25b752843f
Auto-login on signup (#201)
* Auto-login on signup works!

* Support form-encoded data body for signup requests

* Remove debug log entry when getting session

* Refactoring and add some docs to UserSignup solution

* Move user object construction to UserSignup solution

* Redirect with error message on signup errors
2020-08-10 14:59:56 +05:30
Abhinav Jha
5e37a919ef
Property pane render when navigating to a widget on a different page (#255)
* Fix: When navigating to a widget, the widget reference isn't found, resulting in the property pane rendering without reference. Resolution: Show property pane only if reference is available
2020-08-10 14:59:06 +05:30
Shrikant Sharat Kandula
b511c3ada9
Change return type of plugin execution to be more specific (#247) 2020-08-10 14:41:32 +05:30
NandanAnantharamu
05f190c102
Feature/entity browse (#220)
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
  to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
  now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
2020-08-10 14:22:45 +05:30
Nikhil Nandagopal
51a267c8f2
Fix/release (#254)
* Added Redux action to clear widget meta properties when page is fetched

* reset widget meta for view mode too

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-10 12:22:47 +05:30
vicky-primathon
859bd0962c
Fix-Show page controls in table widget when server side pagination is enabled and table is resized (#223)
Pagination control UX modified for server side pagination.
2020-08-10 12:17:47 +05:30
vicky-primathon
c68114331c
Feature/table ui sort columns (#238)
* Added sorting functionality in table widget

* Removing sorting for Images and Video column types

* Code review changes incorporated
2020-08-10 12:15:31 +05:30
dependabot[bot]
32eabfcd3d
Bump prismjs from 1.20.0 to 1.21.0 in /app/client (#244)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.20.0 to 1.21.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.20.0...v1.21.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-10 12:01:51 +05:30
satbir121
4a0d2ebe03
Fixing primary secondary color for button. (#253) 2020-08-10 11:56:41 +05:30
satbir121
3a4d900235
Button Component (#190)
* Adding blank components.

* Adding Todo note for tree

* Adding todo note for LighteningMenu

* ads button component

* Adding storybook support.

* storybook integrated with button component

* ads button component props completed

* button component icon and loading logic implemented

* button component completed

* Added a text knob.

* Adding default text for button.

* Merging theme and other fixes.

* Fixed info button.

* Better types.

* Adding background param to components.

* Re-using vsariant for callount.

* Added props for Text input.

* Adding text component.

* feedback changes added in button and icon component

* type any removed in button component

* function naming corrected

* Changing empty string to null

* Adding enum for DropdownDisplayType.

* Change Spinner path

* Fixing spinner issues.

Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
2020-08-10 10:24:33 +05:30
Nikhil Nandagopal
568e6d7f8a
Added Redux action to clear widget meta properties when page is fetched (#243)
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-08 00:10:34 +05:30
Hetu Nandu
0e7c0c3ce4
Widget fixes (#242)
* fix table styles

* rich text editor fix

* Fix action panes showing as blank

* correct fix this time

* cleanup

* default search in table

* Fix for text widget heading style

* Fix for table widget filtered table search

* Another approach to see if app has been created

* Fixes in styles of table and text
2020-08-07 23:39:54 +05:30
Hetu Nandu
42ab557aca
Add url and user inside data tree (#240)
* Add url and user inside data tree

* Cleanup

* change key to URL

* add email and username instead of name
2020-08-07 19:54:26 +05:30
akash-codemonk
e265a1cfa3
Add missing isDisabled prop to filepicker, radio and dropdown components (#231) 2020-08-07 18:47:15 +05:30
Nikhil Nandagopal
db46d1aede Merge branch 'fix/release' into release 2020-08-07 17:34:27 +05:30
Nikhil Nandagopal
a6721a1fec Fixed tab default value 2020-08-07 15:31:49 +05:30
Hetu Nandu
c937a149ee
Replace APPSMITH_MARKETPLACE_URL flag with APPSMITH_MARKETPLACE_ENABLED (#197) 2020-08-07 13:05:38 +05:30
Nikhil Nandagopal
9b867e4fe0 added on Tab selected for tab widget 2020-08-07 12:53:15 +05:30
Hetu Nandu
dc3fc8a7ee
Fix for Text spec failing (#239) 2020-08-07 12:40:54 +05:30
Hetu Nandu
955e9a2f2b
App Edit top bar (#232) 2020-08-07 12:26:47 +05:30
satbir121
bca3787f78
Reducing analytics userData size. (#235) 2020-08-07 12:25:09 +05:30
Nikhil Nandagopal
cd4fc4e20e
Merge branch 'master' into release 2020-08-07 12:03:33 +05:30
Abhinav Jha
311cd775b6
Fix: Location search control now uses the google maps api key from configs (#236) 2020-08-07 11:52:36 +05:30
Nikhil Nandagopal
1df7599d5e
Fix/tab widget (#233)
* 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>
2020-08-07 11:49:36 +05:30
Hetu Nandu
1c5e5cc2fa
App View header (#228) 2020-08-06 16:36:53 +05:30
Nikhil Nandagopal
8118b2d8c0
Fix/copy changes (#230)
* 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

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-06 14:31:28 +05:30
akash-codemonk
bfa15671d4
Add space around documentation (#229)
Authored by: @akash-codemonk
2020-08-06 12:06:12 +05:30
akash-codemonk
3f6b6da0e5
Use isExecutionSuccess for showing error response as status code string does not appear in query response (#226) 2020-08-05 15:53:07 +05:30
akash-codemonk
20684116fc
Make executeonload a switch and move it to the right (#221)
- Move all form labels to the their individual components
2020-08-05 13:32:24 +05:30
Nikhil Nandagopal
e768e5d131
Fix/copy changes (#218)
* 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

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-05 13:03:44 +05:30
satbir121
1aab6869a0 Fixing user not logged in analytics. (#216) 2020-08-04 21:16:59 +05:30
satbir121
7cd1667a48
Fixing user not logged in analytics. (#216) 2020-08-04 17:57:25 +05:30
Nikhil Nandagopal
f7cf7e1182
Fix/copy changes (#210)
* 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

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-04 17:51:02 +05:30
Hetu Nandu
b4906aad18
Fix tab focus issue in code editor inputs (#200)
The lightning menu popper was pulling focus when pressing TAB key. Added a prop to fix this
2020-08-04 11:15:13 +05:30
Arpit Mohan
3faaabbd31
Minor fix to create certbot directories during installation (#211) 2020-08-03 21:07:40 +05:30
Hetu Nandu
a29dccbaf0
First time page load performance (#144)
* WIP

* Chunk names

* Add auth call

* add auth

* WIP

* Auth management setup

* fix a test

* fix cypress machine count

* some more changes

* fix header link

* check for auth

* fix import

* fix imports

* Use auth class

* WIP

* Better loading

* Remove unused

* Remove qs

* Auth loader

* Redirect for login

* Third part auth

* 404 redirects

* 404 page handling

* Adding custom docker image for performance fixes

* Correcting the workflow to get package step to run

* Clean up

* lazy auth load

* remove assertions from delete app and logout calls

* remove github workflow changes

* roll back lazy auth

* Error handling

* test editor chunk suspense

* Show header in editor before initialization

* Changes for app view

* Login header fixes

* Loader fixes

* Fix base login routes

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-08-03 19:48:48 +05:30
vicky-primathon
0474e339f3
Removed table widget row deselection (#209) 2020-08-03 19:14:34 +05:30
Tejaaswini Narendra
00e53af4ed
Fix UI Bugs (#168)
* Fix UI Bugs

- Double search box width and change text to Search app name
- Half the space between the org icon and the org name on home page
- Make org name bold and increase font to 16px
- Remove manage users button from invite modal if modal is opened in organisation settings page

* fix: Review Comments and other minor changes

- Clear TagList on form submit
- Fix CSS for search widget width
- Fix table height
- Make org name text bold for admin access.

* fix: Test Cases
2020-08-03 17:14:18 +05:30
Trisha Anand
b5841e96d2
GET plugin form now returns json to render both datasource configuration form and the editor query pane (#199)
Keeping the function to read plugin resource generic for any type of resource. Now the parent function can also conditionally decide which plugin would require to read which resources from the filesystem.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-08-03 16:37:28 +05:30
Tejaaswini Narendra
b65cdf68b0
feat: Add org share option to application share modal (#166)
* feat: Add org share option to application share modal

* fix: Update design and implement copy to clipboard

* fix: Show share based on permission and update modal UI

- Update modal style
-  show application share button only to admins.

* fix: refine code
2020-08-03 14:44:08 +05:30
dependabot[bot]
2b2a06e9e1
Bump elliptic from 6.5.2 to 6.5.3 in /app/client (#204)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-03 09:16:56 +05:30
Shrikant Sharat Kandula
cef1241bcb
Return 200 when action could not be executed (#202) 2020-08-03 07:35:14 +05:30
Hetu Nandu
f8c2bd5d42
Update binding highlight styles (#136)
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-31 15:47:18 +05:30
Shrikant Sharat Kandula
43304ca146
Fix form data not showing up in the right place when importing from curl (#198) 2020-07-30 16:30:39 +05:30
Trisha Anand
c6a9fc2bb4
Organization getById should use custom repository get function (#195)
* Overwriting the base service's getById for OrganizationService to ensure that the response contains userPermissions (by using custom repository instead of default mongo repository classes)

* Fixed the failing test cases.

* Minor code formatting.
2020-07-29 16:57:46 +05:30
Arpit Mohan
4475bc2b1e
Configuring dynamic redirect post login (#194)
The client will have to send a query parameter redirectUrl or a header X-Redirect-Url in order for the server to redirect the client to the appropriate URL post login. If neither of these parameters are present, the client is redirected to /applications by default.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2020-07-29 16:07:40 +05:30
dependabot[bot]
4b026d5acb
Bump lodash from 4.17.15 to 4.17.19 in /app/client (#132)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-29 15:43:38 +05:30
vicky-primathon
527bb5898a
Fix-The tabs should scroll with the increase in the number of tabs. (#131)
* Fixed tabs widget bugs and other updates:
1. Moved drag icon to the left of tab name field in the tabs widget property pane
2. Change drag icon
3. Add scroll when the tabs occupy more width than the width of tabs widget.
4. Add selected tab name validation.
5. Hide overflow tabs.
6. Avoid vertical scrollbars in tabs widget header
2020-07-29 14:31:17 +05:30
Trisha Anand
eba38ae1fa
During signup, if the user already exists, instead of throwing a generic duplicate key exception, request the user to sign in. (#192)
* During signup, if the user already exists, instead of throwing a generic duplicate key exception, request the user to sign in.

* Minor change in the error message.
2020-07-29 13:44:23 +05:30
Abhinav Jha
08d2a94768
Change derivedpropertiesmap for selectedRow to use filtered table data (#173)
* Add a new meta property to tableWidget called filteredTableData which will be used by the table to filter

* Use derived properties to update filteredTableData

* Check if search is done via actions, if so, filteredTableData is the same as tableData
2020-07-29 11:45:06 +05:30
NandanAnantharamu
3c5d93e699
Feature/validate request header (#189)
* validate request header

* Validate request header for API tests

Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-29 11:30:03 +05:30
Shrikant Sharat Kandula
60efdb998b
Fix: Datasource password gets double encrypted on cloning (#191)
* Decrypt sensitive fields before cloning a datasource

* Fix NPE in cloning datasource when configuration is missing
2020-07-29 11:12:04 +05:30
Trisha Anand
9c51ac3f8d
🔥 & forget asynchronous email sending (#187)
* Email sending is now an asynchronous function. It follows a 🔥 & forget strategy to make it run asynchronously.
2020-07-28 20:06:12 +05:30
vicky-primathon
e794c916e6
Fix-Row to be selected when button is clicked and row is not selected (#167)
* Row selection when button is clicked and row is not selected

* Added columnActions to useMemo for columns computation to support live action name updated and action change support
2020-07-28 19:56:27 +05:30
Shrikant Sharat Kandula
66bf23106d
Fix cloning fails in some cases for organizations (#159)
* 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
2020-07-28 17:54:06 +05:30
Hetu Nandu
01a3d4682f
Fix action batching issue (#181) 2020-07-28 16:11:51 +05:30
akash-codemonk
502733315b
Fix key value array not being able to set initial value (#150)
* Fix key value array not being able to set initial value. Now we allow multiple values to initialise for array input
2020-07-28 10:45:26 +05:30
NandanAnantharamu
adee90aee9
assertion type changed (#174)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-27 16:44:06 +05:30
Shrikant Sharat Kandula
74da0f117e
Reuse layout that's automatically created with page (#163)
* 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>
2020-07-25 18:13:29 +05:30
Shrikant Sharat Kandula
10ad639b28
Bug/layouts not updated on action change (#161)
* 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
2020-07-25 16:45:42 +05:30
Shrikant Sharat Kandula
5ee1c24224
Fix layouts not be updated when an action is updated (#160)
* Fix layouts not be updated when an action is updated

* Add test for updating onLoadActions when action updated
2020-07-25 15:43:22 +05:30
vicky-primathon
8fb0dc02ad
Fix-Search component in Table widget updated with support for clearing search data (#96)
* 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>
2020-07-24 19:28:28 +05:30
akash-codemonk
126e0a7d04
Update Create query style (#157) 2020-07-24 18:35:37 +05:30
Shrikant Sharat Kandula
4a269efd4a
Reset default fields of User object before update (#158)
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.
2020-07-24 18:32:43 +05:30
Trisha Anand
9f8b5ca4d8
Adding execute action permissions policy to match read actions policy in existing actions. (#156)
* 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)
2020-07-24 17:05:49 +05:30
vicky-primathon
a2673aaa87
Fix-Open image in new tab on clicking it in table widget. (#119)
* 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>
2020-07-24 16:02:31 +05:30
Trisha Anand
61c62c9212
Datasource Test should test against the datasource object sent by the client (#155)
* 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.
2020-07-24 15:53:40 +05:30
Shrikant Sharat Kandula
23dd84d9c8
Clear application pages list before cloning (#154) 2020-07-24 14:35:16 +05:30
Shrikant Sharat Kandula
dfcabab4cc
Handle stale database connection from datasources (#151)
* 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
2020-07-24 12:18:25 +05:30
NandanAnantharamu
8e5fb14f70
updated test by removing blank header value (#153)
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-24 11:17:54 +05:30
NandanAnantharamu
b73d049019
Api test fixes (#146)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-24 10:01:39 +05:30
Shrikant Sharat Kandula
ca73c3e625
Copy plugin dependencies to their target/lib to fix driver not found errors (#152)
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.
2020-07-24 09:49:17 +05:30
Arpit Mohan
36bf14f221
Adding dynamic redirect to form & OAuth2 login (#149)
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>
2020-07-23 20:32:38 +05:30
Trisha Anand
3c30b38937
Bug fix : External datasources do not execute for public application (#143)
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
2020-07-23 20:31:36 +05:30
Tejaaswini Narendra
fa329c742f
fix: Table scroll issue, application share issue, eslint errors (#120)
* 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.
2020-07-23 17:58:42 +05:30
Tejaaswini Narendra
ea7403ab06
fix: email validation (#118)
* fix: email validation

* feat: Test Email Validation
2020-07-23 17:58:26 +05:30
Tejaaswini Narendra
2ac009678e
fix: Add home button on appviewer screen (#117)
* fix: Add home button on appviewer screen

* fix: styling

* fix: take application details as props
2020-07-23 17:58:02 +05:30
Shrikant Sharat Kandula
a46d355422
Fix class name casing for MySqlPlugin (#148) 2020-07-23 17:33:34 +05:30
Hetu Nandu
d99d233539
Fix widget tests (#141)
* Add table row index and col index
* comment map tests
2020-07-23 11:03:12 +05:30
akash-codemonk
0b91612710
Add environment variable APPSMITH_CLOUD_HOSTING (#145) 2020-07-23 11:02:00 +05:30
Arpit Mohan
f9d4262d7e
Removing the default value for postgresql and mysql ports (#147) 2020-07-23 10:40:18 +05:30
Shrikant Sharat Kandula
fd888e33c8
Add migration for updating plugin doc links to our own docs (#142) 2020-07-22 15:28:27 +05:30
akash-codemonk
2629885bb0
Fix table height bug (#139) 2020-07-22 14:01:18 +05:30
Arpit Mohan
690c327f2c
Adding default values for mysql datasource (#140)
Also correcting icon details to mysql plugin migration.
2020-07-22 14:00:15 +05:30
Hetu Nandu
fe43680abc
Action test fixes (#130)
* Fixes for tests
* remove marketplace tests
* fix some other tests
* Simplify update datasource
* Add cypress env variables
2020-07-21 19:31:51 +05:30
akash-codemonk
36258786c9
Show all db datasources in query pane (#134) 2020-07-21 17:42:35 +05:30
NandanAnantharamu
84c901181d
Updated locators and corrected typo. Also updated some routes (#133)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-21 17:35:06 +05:30
akash-codemonk
30b8d3581b
Query pane refactor and fixes (#87)
* Query pane refactor and fixes

* Check if body exists

* Get pluginId from the datasource

* Move plugin image logic to selector

* Show info in new line on the datasource form page

* Update link text to Docs

* Handle string as run api response body

* Remove harcoded height

* Remove all references to ImageAlt except in selector

* Updata info text
2020-07-21 16:06:53 +05:30
nupur
d0e60a1890
Mysql plugin integration (#53)
This commit adds the Mysql plugin to the Appsmith server. We also add a migration to ensure that this plugin is installed by default for all existing organizations. The migration also adds the plugin details into the DB.

Also adding the test cases for mysql plugin.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nupur Singhal <nupursinghal@Nupurs-MacBook-Air.local>
2020-07-21 16:01:42 +05:30
Shrikant Sharat Kandula
1fc582af08
When cloning examples organization, clone only public applications (#125)
* When cloning examples organization, clone only public applications

* Create template organization within the test

* Cleaned up test for cloning of examples organization

* Fix Mono chaning

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Create test apps and config simultaneously

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-21 13:39:07 +05:30
Hetu Nandu
af65e1ca9f
Add property checks in evaluated widget (#95) 2020-07-21 12:29:49 +05:30
Arpit Mohan
67d0b0393a
Updating the import statement in Cypress test (#129) 2020-07-21 12:29:24 +05:30
Trisha Anand
d1dd74018f
Bug fix : Update of datasource object leads to authentication field getting encrypted again. (#124)
* Datasource authentication object fields should only be encrypted during create or if the update object contains authentication object. Added a test case to check that update to any other field doesnt update the encrypted fields.

* Incorporated review comment
2020-07-21 10:53:03 +05:30
NandanAnantharamu
1d726dac20
Create Org related usecases (#84)
* Create Org related usecases

* Review comments incorporated

* Updated with env variables for test users and routes

Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-20 15:08:35 +05:30
Shrikant Sharat Kandula
55a6cc6614
Clone examples organization for every new user (#78)
* Trying to clone the examples repo on new user signup

* Working implementation of cloning examples organization on user sign up

* Fix personal org not being created when template org is missing

* A working version of cloning of examples organization on first-login

* Add docs for methods in ExamplesOrganizationCloner

* Refactor computing user's first name into a method

* Add some menial tests for examples organization cloning

* Use explicit permissions when fetching applications and datasources

* Fix template organization config name hard-coding
2020-07-20 13:07:31 +05:30
Shrikant Sharat Kandula
f9e1d4f1ad
Chore/remove implicit permissions (#90)
* Refactor implicit permissions in service methods as function arguments

* Revert an unintended change that got committed

* Fix permission variable name

Co-authored-by: Trisha Anand <trisha@appsmith.com>

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-20 13:06:47 +05:30
vicky-primathon
4f47a8ad3f
Feature/table ui download data (#52)
* 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

* Download table data as CSV implemented

* table data download, unused code removed

* Code review changes

* code review changes

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-20 11:34:05 +05:30
Hetu Nandu
b6c710cfa2
Add support for run time params in action execution (#98)
Adds a third parameter to the Action.run function that can be referenced inside an action config
Usage
`{{ Api1.run(...,...,{key: value}) }}` inside property pane
`{{this.params.key}}` inside action pane

* You can reference data tree properties in the params values:
`{{ Api1.run(..., ..., { key: "Input1.text.toUpperCase()" })`
* Bindings can have both params and data tree values referenced. 
* Param values can be javascript functions
`body: {{ this.params.list.map(i => Input1.text + i ) }}`
2020-07-17 18:25:34 +05:30
Nikhil Nandagopal
70c4dd5964
Fix/deploy script (#111)
* Added information to setup domain

* Fixed incorrect var reference

* Updated documentation message

* Updated env template

* updated template

* removed debug echo

* Updated Script

* Updated Text

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-17 15:29:28 +05:30
vicky-primathon
290bb8d57c
Table UI breakages on scroll and empty cells fixed (#60)
* Added Button component in Table widget for actions

* Action button state loading added for Table widget

* Action button font-weight made as normal

* 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

* 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

* Added table widget component heights as enum

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-16 16:09:07 +05:30
Shrikant Sharat Kandula
140bfed24f
Disable the direct create methods for pages and applications (#109)
* Disable the direct `create` methods for pages and applications
* Create differently named versions of create methods to avoid ambiguity
* Removed unused pageService in DatasourceServiceTest
* Rename createPlain method to createDefault to better convey intent
2020-07-16 15:13:03 +05:30
Arpit Mohan
13d3fe3076
Changing the CSS locator for the Share button (#110) 2020-07-16 12:25:54 +05:30
Arpit Mohan
1060423b99
Modifying deploy script to replace nginx configuration at runtime (#106)
* Getting the script to work on Mac OS X Bash Version 3

* Correcting the nginx template configuration and Dockerfile for the appsmith-editor. Now any replaced environment variables will be replaced when the Nginx Docker container restarts.
2020-07-16 11:47:45 +05:30
Arpit Mohan
a9ed054cbb
Adding Github Action workflow to the client code base (#66)
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/
2020-07-16 11:20:46 +05:30
NandanAnantharamu
daeb39a8ce
Apipane fix (#108)
Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
2020-07-16 10:30:51 +05:30
Trisha Anand
04db3d4242
Bug Fix : Execute Action is not open for execution in public application. (#105)
* Opening the execute path & fetching db without permissions during execute path.
2020-07-15 21:36:35 +05:30
Trisha Anand
936c013b3b
Bug fixes : 401 for public applications + Empty set of actions for get in case cookies is anonymous (#104)
* Bug fixes :
1. Get actions in view mode should be open for unauthorized requests. Fixed that.
2. set transient fields in action is called post fetching all the actions (after taking care of all the permissions). At this point, we shouldnt be using permissions to fetch datasource.
2020-07-15 20:15:10 +05:30
Trisha Anand
20ae5fa546
Adding timeout in ActionViewDTO for the client to use to programmatically timeout on the execution request (#103)
* Adding timeout in ActionViewDTO for the client to use to programmatically timeout on the execution request.
2020-07-15 18:44:55 +05:30
Hetu Nandu
70955de703
Create fetch actions workflow for view mode (#102)
* Create fetch actions workflow for view mode

* Remove config from autocomplete results
2020-07-15 18:31:35 +05:30
Trisha Anand
6bfed87e40
Added pageId to action view dto (#101)
* Added pageId in the ActionViewDTO and NPE check for setting the json path keys.

* Checking for both json path keys being null and not empty before copying the json path keys into action view dto.
2020-07-15 17:53:38 +05:30
Trisha Anand
212e98c4ba
Fixing test cases failing due to non unique names. (#100) 2020-07-15 16:42:53 +05:30
Arpit Mohan
6c16cba4b9
Adding null checks before encrypting or decrypting the password in AuthenticationDTO object (#99)
This ensures that we don't run in NPE
2020-07-15 16:29:05 +05:30
Arpit Mohan
c15f83dbc3
Adding configuration variables for MAIL_FROM and REPLY_TO in EmailConfig (#97)
The MAIL_FROM & REPLY_TO addresses default to appsmith@localhost. This should be changed in the generated docker.env file during deployment to actual values.

Most email providers will not send emails unless they originate from a valid sender ID.
2020-07-15 15:47:33 +05:30
Tejaaswini Narendra
2956f1b3d0
Feat: Share application publicly (#89)
* Feat:  Share application publically

* fix: eslint warnings and code refactor
2020-07-15 15:17:39 +05:30
akash-codemonk
b1e8e83e5d
Show error toast for delete datasource (#93) 2020-07-15 13:30:34 +05:30
Nikhil Nandagopal
de151e1b46
Fix/deploy script (#94)
* Added information to setup domain

* Fixed incorrect var reference

* Updated documentation message

* Updated env template

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-15 12:49:52 +05:30
dependabot[bot]
204e65924f
Bump websocket-extensions from 0.1.3 to 0.1.4 in /app/client (#70)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 11:36:02 +05:30
akash-codemonk
b45cc8f35e
Fix autocomplete for special cases (#31)
* Fix autocomplete for special cases

-  Send the currently focused dynamic binding to tern instead of the entire editor value

* Add tests for TernServer methods

- Make request callback a seperate so that it could be testable
- Add tests for getFocusedDynamicValue, buildRequest and requestCallback

* Keep input and expected values together
2020-07-14 16:00:33 +05:30
Trisha Anand
fd0f23b9cc
Database credentials encryption in MongoDB (#80)
* Encrypting the password stored in AuthenticationDTO for every db.

* Adding comment to the properties file to denote that adding encryption salt and password are mandatory to the server coming up.

* Added the encryption salt and password to server.yml to allow the github actions to succeed.

* Adding database migration to encrypt the existing passwords for authentication object (used for storing db connection username/password)

Changes to the installation script install.sh:

1. Instead of overwriting the existing encryption password or salt, giving the user an option to conserve the previous encryption credentials to ensure that the developer users do not lose access to their database configurations (passwords).
2. Added another file for writing encryption credentials (encryption.env) to ensure that we dont delete the encryption password and salt by mistake.
2020-07-14 14:45:08 +05:30
vicky-primathon
7114936554
Fix/action btn loading in table widget (#28)
* Added Button component in Table widget for actions

* Action button state loading added for Table widget

* Action button font-weight made as normal

* 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

* Code refactors and added dependency map with meta props and table data for computing columns

* RenameColumnHeader function renamed to TableHeaderCell

Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-14 13:25:46 +05:30
vicky-primathon
86b4ec562c
Table column show column fixed. Show icon changed. Columns list made … (#54)
* Table column show column fixed. Show icon changed. Columns list made static in visibility dropdown

* Code review comments handled

* Hiding visibililty options in published mode
2020-07-14 13:10:52 +05:30
Hetu Nandu
612f01b04a
Fix params not saving after url update (#85) 2020-07-14 12:23:33 +05:30
Trisha Anand
56acb5c9fd
New endpoint added to get actions by applicationId in view mode. (#88)
* New endpoint added to get actions by applicationId in view mode. Only id, name and jsonPathKeys are returned in view mode.
2020-07-13 23:27:49 +05:30
Tejaaswini Narendra
b035241013
fix: error page and get applications API (#77)
* fix: error page and get applications API

* fix: apptoaster check for show variable instead of error code.

* fix: Update naming and combine currentOrgId and OrgDetails.
2020-07-13 19:24:26 +05:30
vicky-primathon
0a1a3e5589
Lightning menu dropdown popper placement fixed in query editor (#59) 2020-07-13 18:36:44 +05:30
NandanAnantharamu
1b3e8c91a7
Fixing Cypress test cases (#32)
* Removed saveQuery method part for query

* login from env variables

Co-authored-by: Nandan Anantharamu <Nandan@thinkify.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-11 12:12:53 +05:30
Shrikant Sharat Kandula
4796b6edba
Add maven-license-plugin to the project (#73) 2020-07-10 15:58:04 +05:30
Hetu Nandu
3d9962adfa
Add @appsmith namespace (#74)
Adds an @appsmtih alias for managing imports with the EE repo
2020-07-10 14:54:06 +05:30
Abhinav Jha
5ec134eae7
Use Google Maps API key from configs (#76) 2020-07-10 13:05:27 +05:30
Tejaaswini Narendra
a3ec3b3854
Adding CSS class names for testing (#75) 2020-07-10 12:12:51 +05:30
Trisha Anand
4a720b80e2
Removing the marketplace basic auth credentials which was hard coded into the code to environment variable. (#71) 2020-07-09 22:38:21 +05:30
Trisha Anand
8734067cad
Resolving the dependabot vulnerabilities. (#69) 2020-07-09 21:12:16 +05:30
Nikhil Nandagopal
3ef53b15f3
Feature/query help (#64)
* bumped up codemirror version

* minor fix

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-07-09 19:03:34 +05:30
Arpit Mohan
c31fb9acd4 Correcting the Github Action for the client Docker image build 2020-07-09 18:53:13 +05:30
Arpit Mohan
9c6b2967de Adding the step to add the release tag based on the branch in the client Docker image 2020-07-09 18:51:31 +05:30
Arpit Mohan
7dbda01ba4 Removing extra lines from client README 2020-07-09 18:40:35 +05:30