Commit Graph

42 Commits

Author SHA1 Message Date
Abhinav Jha
b49f5097c6
refactor: Widget Development API (#6405) 2021-09-09 20:40:22 +05:30
Rishabh Rathod
652950d239
Add Gsheets support for generate CRUD page (#6301)
* Add s3 support for generate CRUD
- Dropdown enhancement to open options on initial load
- Hide column selection option for s3

* Refactor the prop name

* Dropdown enchancement & Fix small issues

* Add fetch all sheets query

* Fix issues related to dropdown

* Add hooks to fetch sheets and spreadsheets

* Resolve warnings

* complete gheets basic support

* Add UI changes for Gsheet column names
- Fix Page Scroll issue

* Add debounce to avoid to many API calls

* Add request object formation via plugin config

* Resolve comments & remove executingDatasourceQuery

* Send sheetName in the tableName key.

* Add loader and Column name UI Fix

* Add Column Headers Label

* Fix logic to show comma separator btn column names
- Make "Column Header Fetched" text Bold

* Add tooltip info for searchable column

* Add value prop to TextInput
- Fix Table header Index Invalid Input issue

* Hotfix validator logic
2021-08-20 15:25:59 +05:30
Pawan Kumar
946ca3afb9
[Feature] Page Properties (#4989)
* disable delete icon for default

* page properties style updates

* minor style updates

* remove uneccessary imports

* update draggable list api

* style updates

* remove unused variable

* style updates

* update edit icon

* integrate sorting page api

* fix colors

* remove console.log

* add link to switch page in page list item

* remove unused import

* revert draggable list code

* remove console.log

* fix draggablelist component reorder issue

* remove draggablepagelist

* fix rerender of draggablelist

Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-08-13 17:08:26 +05:30
Rishabh Rathod
76dfcd0163
[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>
2021-07-29 13:43:10 +05:30
Aswath K
ad9319980f
Fix page load actions not triggering when switching pages in edit mode (#5430) 2021-06-30 12:49:43 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Hetu Nandu
2dd1791810
Refactor and add unit tests to API interceptors (#3647) 2021-03-22 14:52:24 +05:30
Ashok Kumar M
fc34901be8
Fix: Dynamic Canvas Height based on bottom most widget. (#3398)
* Fix: Dynamic Canvas Height based on bottom most widget.

* Checking cytest failure reason.

* Revert "Checking cytest failure reason."

This reverts commit 2e3aaa882b282e10e1cf491633101293b72ffa89.

* Using UPDATE_CANVAS_LAYOUT to update the layout.

* Remove unwanted declarations.

* Adding comments.
2021-03-16 10:31:37 +05:30
akash-codemonk
7fa5e3b1af
Hide pages in publish mode (#3106) 2021-02-24 19:17:37 +05:30
Hetu Nandu
ebd61efcca
Show a toast when action executeOnLoad status updates (#3042) 2021-02-15 21:43:44 +05:30
Abhinav Jha
543b7ec72d
Entity Explorer Render (#1354)
* WIP: Performance improvements in entity explorer

* WIP: Achieve feature parity for entity explorer with release

* Update unit tests

* Add sentry profiling to current page entity properties component

* Fix page add/delete not showing up on entity explorer issue. Update memoization logic for pagegroup entity

* Deal with the ban-ts-ignore eslint issues

* Update unit tests

* Fix widget entity children visibility

* Fix tests and code

* Fix tests for scenarios where the collapsed entities are unmount, as this is a part of the performance optimization

* Filter undefined children when generating structureDSL

* Remove rule from eslintrc

Consolidate createPage test command

* Update CreatePage tests to remove redundant dsl updates

* Revert CreatePage test changes, as adding more checks within this command globally causes other tests to have issues.

* re-enable eslint rule, as without it CI tests fail

* Revert to ban-ts-comment

* Fix typescript ban-ts-ignore issue by upgrading react-scripts and fixing typescript issue across the application

* Typescript errors handled

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
2020-11-03 18:35:40 +05:30
Trisha Anand
fc9ea45e3b
[API breaking change : Automated Tests Will Fail] Page And Action Refactor (#549)
* Introduced new page which stores the published and unpublished pages as separate.

* Mid level commit to save the state.

* Parity of new page repository with old page repository (custom functions)

* WIP : Delete a page. This requires changes across application structure as well.

* Added publishedPages construct inside application to store the pages in the deployed view as well as isDefault so that the same changes (delete or isDefault) in unpublished view doesn't alter these fields for the published application

* Parity reached with PageService.

* Minor ActionService refactor to remove unnecessary code.
ApplicationPageService, LayoutActionService, LayoutService use the new page service to fetch the pages
Minor corrections in fetching the page from new page service in tests

* New save function which sets the PageDTO for unpublished page and then saves the new page into repository.

* Migration of page service functions to new page service functions across other services/tests/controller

* Finished migrating all the page service functions to the new page service functions

* Application Service Tests have been fixed.

* All the existing test cases are working now.

* Publish application implemented to store published pages as well. Added a basic test case to check that published pages is being set and that page's publishedPageDTO is being set accordingly.

* Minor TODOs added to add test cases for published application.

* A few tests to ascertain that published application page fields (deleted, isDefault) does not get changed when these statuses are changed for a page in edit mode.

* Added a new controller end point to fetch application in view mode.

* Added new endpoint for fetching an application in view mode on the client.

* Bug fix where get application in view mode API was not getting called.

* Fixed the get page names by application & archive pages which have been deleted in edit mode during publishing of application.

* During delete page, if a page was never published and it was deleted during edit, delete the entire page instead of just deleting the unpublished PageDTO

* Minor formatting.

* Non working client side code to fetch page list using view mode.

* revert unnecassary changes and streamlined view and edit actions

* Fix missed import

* Fixed a bug where if a page is not published, it should not be returned in view mode in list of page names api.

* Fixed update for a page which was not working in integration test.

* ActionDTO added.

* Solidified the new action structure.

* Migration added for NewAction index creation and NewAction per Action insertion in the database.

* Basic file structure added the new repository, custom repository, service, etc.

* Delete OldPage.java

* Repo functions added - TODO : Haven;t handled the published/edited views

* Helper functions added to convert Action to NewAction and vice-versa. Removed unused currentUserMono usage.

* Create & update action functionality added.

* Execute Action refactored. Removed dry run specific code.

* Repository migrated to handle new data structure. Execute action refactored to no longer support dry runs of actions.

* TODO added for special handling of change view of application to handle edge cases of pages/actions which either exist in published mode but don't exist in unpublished mode or vice versa.

* Migrated finding on load actions from spring repository to custom repository.

* In view mode, now actions are being fetched by application id directly instead of first fetching application and then using the page ids, fetching the actions. This reduces the db calls from 2 to 1 per fetch actions in view mode api call.

* Delete action and get all actions (used in edit mode on the client side) implemented.

* Updated CollectionService and ActionCollectionService to use the new action service instead of the old one.

* LayoutActionService refactored to now use the new service functions.

* ActionController now no longer used ActionService. The remaining service functions have been migrated to the new action service.

* Refactor across ACL code for addition/removal of policies during addition/removal of users to organization, making app public, refactor for services like policy utils, item service, etc.

* Removed the last of action repository and action service and replaced with new action repo and new action service.

* Compile and run time issues fixed. The server is coming up without any spring dependency errors.

* WIP in fixing fetching actions by page id.

* Finally!!! Fixed the fetch actions (both published and unpublished actions) by page id repository function.

* Fixed create action bug where null datasource in published actiondto (inside newly created action) leads to error.

* Fixed the execute action issues :
1. Removed the dry runs from the tests
2. Fixed the null pointer error in variable substituted action and datasource configurations.

* 1. Fixed the custom action repository field names.
2. Fixed the data structures used in ExamplesOrganizationClonerTests

* Fixed countByDatasourceId repository function which was querying the actions incorrectly.

* Fixed the clone example organization error where the id of the action was not getting updated in the page correctly. Yay!

* Fixed post merge compilation failure.

* Fixed more compilation time failures in ActionServiceTest

* Fixed failing test case for fetching actions in view mode.

* Minor changes to resolve merge changes and incorporate in the new refactored code.

* 1. Fixed compile time errors on Client code.
2. Fixed fetching of actions in view mode by application id. The repository function did not need name parameter. Removed the same.

* [Integration Testing Error Fix] : Added a new test case for refactor action name.

* Instead of fetching actions in the page, mistakenly used the base service which was fetching all the actions in the repository, barring none which led to the name refactor being blocked even though no action in the current page exists with the new proposed name,

* Added delete functionality to action service.

* Minor code cleanup

* Adding viewMode to action execution

* Replacing action with actionId.

* 1. Bug fix for deletion of unpublished action. In case of never published action, the entire action should be deleted. In case an action was published, only the unpublished action should be deleted.
2. In case of DB actions (external datasources), only the bare minimum fields should be stored inside the action (datasource id and datasource plugin id). The other fields should not be duplicated across code.

* Fixed yarn build compilation issues.

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ActionController.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Changed the API path for GET applications in view mode. Some minor code formatting.

* Incorporated review comments.

* Some more unnecessary code removed.

* Instead of returning Page, now the interface object between client and server for Pages is PageDTO

* Migrated Page and Action to PageDTO and ActionDTO
Fixed the compilation issues.
TODO : Fix the test compilation issues.

* Fixed compilation time issues with all the tests by migrating Page and Action to PageDTO and ActionDTO respectively

* Action Controller and Page Controller no longer extend Base Controller. All the required functions have now been implemented and no base line API end points are being re-used from the base.

* Test case fixes.

* Bug Fix : Updating an action was not updating execute on load. Fixed the data flow leading to the error.

* Deprecating Page and Action domain objects. This is to ensure no new code is written with these till we remove this old code.

* Cloned example applications are now published before returning. This is to ensure that the applications are in ready to view mode when the new user signs up.

* Added a function comment to expand on the usage of new param introduced.

* When cloning a page, new actions were not being stored. Added that. Also updated the clonePage test to assert that the actions are also cloned when the pages are cloned.

* Updated a Api call

* removed extra slash

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: nandan.anantharamu <nandan@thinkify.io>
2020-10-26 18:04:23 +05:30
Nikhil Nandagopal
0a149f9e54
added cancel request logic for update layout, api and action (#1224) 2020-10-15 20:58:54 +05:30
akash-codemonk
dbfd986d0e
Add action settings tab to api and query pane (#434)
* Add action settings tab to api and query pane

- Ask for confirmation before running an action

* Update  property of actions basedon the updateLayout response

Prevent confirmation dialog for Action run, until  property of action is true

Send an API Request when the user toggles the  property of an Action

* update http method to toggle executeOnLoad for an action to PUT

* Fix save layout response type

* Remove console.log

* If updating executeOnLoad, avoid calling update action API

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2020-08-27 21:09:16 +05:30
akash-codemonk
3deb9ace43
Add clone page option (#365)
Adding the option to clone a page in the overflow menu of the entity explorer
2020-08-22 08:40:22 +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
Arpit Mohan
fc8e43da1f Query pane fixes
- Show mongo execute response in seperate cards for each record
- Update postgres read template
- Show query execute error message in the UI.
2020-06-17 10:19:56 +00:00
Abhinav Jha
f57cf9d903 Service workers : Caching 2020-05-05 12:16:51 +00:00
Abhinav Jha
8024fe5131 Feature - update widget name 2020-02-21 12:16:49 +00:00
Abhinav Jha
156565c65e Page Management 2020-01-27 08:24:58 +00:00
Abhinav Jha
ed2ecadbc4 User Auth Flow 2019-12-16 08:49:10 +00:00
Hetu Nandu
dd03093834 Execute page load actions when loading page 2019-12-11 15:24:27 +00:00
Hetu Nandu
fbb7742f0e moved to absolute paths for all fiels 2019-11-25 10:37:27 +05:30
Abhinav Jha
d64bbc4015 Use applicationId and pageId to render pages 2019-11-22 14:02:55 +00:00
Abhinav Jha
ffb9b89620 WIP: Page Creation, Page Switching, Published Application Viewer, DropdownComponent
- Fixes #22, #151, #166, #167, #168, #169
2019-10-31 08:36:04 +00:00
Hetu Nandu
4c5850499d Few more api pane fixes
Fixes: #165 #164 #163 #162 #161 #160 #157 #133 #119 #118 #115 #114
2019-10-29 12:02:58 +00:00
Abhinav Jha
78513b0298 WIP: Trigger Preview and Publish Api 2019-10-24 14:53:50 +05:30
Abhinav Jha
4f38d28bd5 WIP: Preview page and Publish Application
- Integrate with Publish Application API
- Integrate with Fetch published page API
2019-10-24 12:33:59 +05:30
Abhinav Jha
062540e838 Add global Saga to handle errors 2019-09-27 21:35:33 +05:30
Abhinav Jha
92eb493d62 Fixes for code review comments 2019-09-24 18:06:03 +05:30
Abhinav Jha
3cb582b7d1 WIP: Fix merge conflicts with release. Add toast to show saving page activity 2019-09-23 15:57:45 +05:30
Nikhil Nandagopal
60714e19f2 made binding optional
re-added mock response
2019-09-18 19:40:57 +05:30
Abhinav Jha
673cd75a3f WIP: integrate with fetch pages and save pages APIs 2019-09-18 16:18:56 +05:30
Abhinav Jha
703081154c WIP: Fix fetch page. Add save page boilerplate. Add widget property change boilerplate. 2019-09-17 20:39:55 +05:30
Nikhil Nandagopal
1baff6d93c Merge branch 'release' of gitlab.com:theappsmith/internal-tools-client into feature/actions
# Conflicts:
#	package.json
#	src/actions/pageActions.tsx
#	src/actions/widgetCardsPaneActions.tsx
#	src/api/Api.tsx
#	src/api/ApiRequests.tsx
#	src/api/ApiResponses.tsx
#	src/api/WidgetCardsPaneApi.tsx
#	src/constants/ActionConstants.tsx
#	src/constants/ApiConstants.tsx
#	src/normalizers/CanvasWidgetsNormalizer.tsx
#	src/reducers/entityReducers/canvasWidgetsReducer.tsx
#	src/reducers/entityReducers/index.tsx
#	src/reducers/entityReducers/widgetConfigReducer.tsx.tsx
#	src/reducers/index.tsx
#	src/reducers/uiReducers/canvasReducer.tsx
#	src/reducers/uiReducers/editorReducer.tsx
#	src/reducers/uiReducers/widgetCardsPaneReducer.tsx
#	src/sagas/PageSagas.tsx
#	src/sagas/WidgetCardsPaneSagas.tsx
#	src/sagas/index.tsx
#	src/utils/AppsmithUtils.tsx
#	src/widgets/AlertWidget.tsx
#	src/widgets/ButtonWidget.tsx
#	src/widgets/CheckboxWidget.tsx
#	src/widgets/DatePickerWidget.tsx
#	src/widgets/DropdownWidget.tsx
#	src/widgets/RadioGroupWidget.tsx
#	src/widgets/TableWidget.tsx
2019-09-13 17:29:45 +05:30
Nikhil Nandagopal
f905417242 added actions & executor sagas 2019-09-13 15:26:11 +05:30
Nikhil Nandagopal
cbc23349c7 added api & query data in entities 2019-09-12 19:14:25 +05:30
Abhinav Jha
b9718bdaec WIP: Fix eslint errors 2019-09-09 14:38:54 +05:30
Abhinav Jha
babc8fcfcd Linting, fixes, dragpreview fix 2019-08-29 16:52:09 +05:30
Abhinav Jha
57ad5991c3 [WIP] Add widget cards pane component 2019-08-21 18:19:16 +05:30
Nikhil Nandgopal
e3ecb9974a added action creators to pass actions to sagas 2019-03-30 18:00:42 +05:30
Nikhil Nandgopal
d83f3d9308 added axios type script
added api calls from a mock server
added redux saga
2019-03-26 20:58:24 +05:30