Commit Graph

113 Commits

Author SHA1 Message Date
akash-codemonk
94d37f55dd
feat: improved guided tour (#9125) 2022-01-25 19:26:52 +05:30
Apeksha Bhosale
ac97e51294
fetch js collections after page clone (#10147) 2022-01-07 08:58:40 +00:00
Pranav Kanade
82cbf718d0
refactor: code splitting to support third party sso/oidc in EE (#10201)
* added config to support code split

* splitting config

* moved the window declaration in EE file as its dependency will be updated in EE

* CE: Splitting ApiConstants and SocialLogin constants

* CE: split login page

* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE

* added key icon

* CE: created a factory class to share social auths list

* Minor style fix for social btns

* Updated the third party auth styles

* updated jest config

* updated third party login registry class
2022-01-07 11:38:17 +05:30
Confidence Okoghenun
014d1f17d6
fix: Disallows entity name to be any extra library name (#8755)
Co-authored-by: sbalaji1192 <balaji@appsmith.com>
2021-11-10 19:29:24 +05:30
Rishabh Saxena
31476092cc
chore: refactors for supporting git branches (#7695) 2021-10-18 19:33:44 +05:30
Rishabh Rathod
a4c3c6ca9d
fix: Remove Success GIF and Add Tick Animation (#7925)
- Decreased the delay to 3 seconds and
- Added CSS animation instead of GIF which reduces the load time.
- Added Placeholder image for the information image to show while it is loading.
2021-10-13 09:43:57 +00:00
Apeksha Bhosale
ffe00cd1a2
fix: widget refactor actions fetch change (#7574)
* widget refactor actions fetch change

* Added test for binding Button with API

Co-authored-by: Apple <nandan@thinkify.io>
2021-09-21 11:32:30 +05:30
balajisoundar
e2ef262f05
feat: Improved onboarding flow on user signup (#7089)
This commit introduces new improved onboarding flow for new users. 

fixes: #4057
2021-09-13 12:52:51 +05:30
Abhinav Jha
b49f5097c6
refactor: Widget Development API (#6405) 2021-09-09 20:40:22 +05:30
Apeksha Bhosale
09eea59330
feat: JS Editor (#6003)
* Changes to add js plugin

* routes+reducer+create template

* added debugger to js editor page

* entity explorer changes

* create js function

* added copy, move and delete action

* added js plugin

* added existing js functions to data tree

* removed actionconfig for js collection

* new js function added to data tree and entity as well

* parsing flow added

* changes to data tree

* parse and update js functions

* small changes for def creator for js action

* create delete modified

* small changes for update

* update flow change

* entity properties added

* removed linting errors

* small changes in entity explorer

* changes for update

* move, copy implementation

* conflict resolved

* changes for dependecy map creation

* Only make the variables the binding paths

* Basic eval sync working

* Minor fixes

* removed unwanted code

* entity props and autocomplete

* saving in progress show

* redirection fix after delete js action

* removed unnecessary line

* Fixing merge conflict

* added sample body

* removed dummy data and added plugin Type

* few PR comments fixed

* automplete fix

* few more PR comments fix

* PR commnets fix

* move and copy api change

* js colleciton name refactor & 'move to page' changes & search

* view changes

* autocomplete added for js collections

* removing till async is implemented

* small changes

* separate js pane response view

* Executing functions

* js collection to js objects

* entity explorer issue and resolve action on page switch

* removed unused line

* small color fix

* js file icon added

* added js action to property pane

* Property pane changes for actions

* property pane changes for js functions

* showing syntax error for now

* actions sorted in response tab

* added js objects to slash and recent entitties

* enabling this to be used inside of function

* eval fix

* feature flag changes for entity explorer and property pane

* debugger changes

* copy bug fix

* small changes for eval

* debugger bug fix

* chnaged any to specific types

* error in console fix

* icons update

* fixed test case

* test case fix

* non empty check for functions

* evaluate test case fix

* added new icons

* text change

* updated time for debounce for trial

* after release mereg

* changed icon

* after merge

* PR comments simple

* fixed PR comments - redux form, settings remove

* js object interface changes

* name refactor

* export default change

* delete resolve actions chnage

* after merge

* adding execute fn as 3rd option and removed create new js function

* issue 7054 fixed - app crash

* execute function on response tab changes

* refactor function name part 1

* refactor of js function name

* try catch added refactor

* test fix

* not used line removed

* test cases locator fixed

Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 23:02:22 +05:30
Hetu Nandu
3380227cbb
feat: Enable Promises in Appsmith (#6253) 2021-08-27 14:55:28 +05:30
Rishabh Rathod
dc86c9b82b
feat: Show Crud Info Modal data from backend (#6882)
CRUD Info modal which pops up on successful CRUD generation, will now have dynamic data for each CRUD template.

Modal success `message` and `Image` to explain the working of the CRUD template is fetched from the backend.

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-08-26 12:53:39 +05:30
ashit-rath
2bd2565580
FIX #6127 - Entity explorer - cloned page widget highlight (#6441)
* Fix 6123 - Entity explorer - cloned page widget highlight

* on page clone, clear widget selection
2021-08-17 13:23:11 +00:00
Rishabh Rathod
63ef562edb
Add Generate CRUD page Info Modal (#6557)
* Add Info Modal (WIP)
- Added modal skeleton without content

* Add generate CRUD Info Modal

* Add dialog heading to messages constants
2021-08-16 23:34:54 +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 Saxena
e4255f6773
Minor fixes for comments on the modal widget (#6368) 2021-08-06 14:47:56 +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
Ashok Kumar M
1ed8c4f587
Fix: Stop page DSL updates in view mode. (#5843) 2021-07-14 22:00:10 +05:30
Aswath K
2c6e8a388e
Shows 'last saved' time on hovering over the 'saved' icon (#5092) 2021-07-07 18:17:01 +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
Tolulope Adetula
89ca5b6da0 fix: isRetry bug in Page saga 2021-06-07 15:33:20 +01:00
Ashok Kumar M
8c8141650a
Feature: Widget grouping Phase I (Multi select and Bulk Delete) + Canvas Enhancements. (#4219)
* Feature: Canvas layer enhancements(DIP)

* feedback fixes

* fixing build

* dip

* dip

* dip

* fixing build

* dip

* dev fixes

* dip

* Fixing top bottom resize handles

* dip

* reposition widget name on top edges.

* dip

* dip

* dip

* dip

* renaming selectedWidget to lastSelectedWidget

* code clean up

* Fixing list widget as per grid scale.

* Fixing existing specs.

* Adding migration test cases.

* dip

* FIxing proppane in modal.

* fixing modal z-indedx.

* fix for modal name.

* dip

* dip

* dip

* adding test cases for hotkeys.

* dip

* dip

* fixing build

* Trying some performance improvements for jests.

* 17 mins with runinband lets try without it.

* minor bug fixes.

* code clean up

* save migrated app on fetch.

* fixing few cypress tests

* fixing cypress tests

* fixing cypress tests.

* fixing cypress

* updated DSL

* Addressing code review comments.

* test fails

* dip

* eslint fixes.

* fixing debugger cypress tests.

* updating latest page version.

* updating migration changes to cypress dsl's.

* updating chart data fixes for cypress tests.

Co-authored-by: Apple <nandan@thinkify.io>
2021-05-18 23:59:39 +05:30
Satish Gandham
8ad7eecdeb - Auto fix sort ddestructured props rule 2021-05-13 14:05:39 +05:30
Ashok Kumar M
8f7cc87801
Fix: Tabs widget refactor with new nested property validation (#4014)
* dip

* test cases first commit

* Adding Tabs migrator.

* fixing tests.

* bug fix.

* selected tab fix

* missed commit

* fixing bugs

* Fixing tab name bugs.

* close property pane when dragging or resizing

* migration changes.

* release rebase changes.

* adding List factory

* remove dynamic bindings on deleting tabs.

* Adding validation messages for nested properties as well

* fixing validation issue.

* tabs visibility validation.

* missed commit

* Fixing broken cypress tests.

* Fixing broken tests.
2021-04-27 12:46:54 +05:30
Hetu Nandu
c92eb0e5a4
Introduce different evaluation types for different binding fields (#3834) 2021-04-26 11:11:32 +05:30
Pawan Kumar
1717b0e392
[Feature] Grid Widget (#2389)
* 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>
2021-04-23 11:13:13 +05:30
Hetu Nandu
64116583e3
Fix container widget dynamicBindingPathList correction (#3619) 2021-03-19 11:39:35 +05:30
hetunandu
12aba25a00 Remove page save event from frontend 2021-03-18 19:15:57 +05:30
hetunandu
eed140f945 stringify page save analytics 2021-03-16 11:01:48 +05:30
Arpit Mohan
660c194009
Moving all toast messages to messages.ts file (#2798)
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-03-13 19:54:45 +05:30
Hetu Nandu
a885fc8d3b
Fix chart data migration issues (#3458) 2021-03-09 20:05:42 +05:30
Hetu Nandu
9bf78a06c0
Add analytical events on page save (#3434) 2021-03-08 15:58:20 +05:30
Hetu Nandu
3237950d97
End to cyclical dependency woes (#3380)
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-03-04 10:54:47 +05:30
Rishabh Saxena
d48e00422e
Minor code cleanups (#3165) 2021-03-02 11:25:45 +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
51696b7220
Tab names can now be updated from the entity explorer (#2779) 2021-02-01 18:47:55 +05:30
Hetu Nandu
5dc01c677d
Batching widget property updates (#2685)
- Changed the updateWidgetProperty redux action to use an object of updates instead of single update
- Added the new batchUpdateWidgetProperty action
> This action will calculate dynamicPath changes for all the updates and update them together
- Added the new deleteWidgetProperty action
>This action will delete a property and any dynamicPaths/child dynamicPaths that exist
2021-01-25 14:27:26 +05:30
Pawan Kumar
fcac402789
Fix - 502 in save layout is abruptly taking me to an error screen (#2475)
* remove crash:true in api + add error icon on page save

* remove crash true in api

* add crash on user init request fail

* dispatch safe crash action on user init call error

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-01-11 10:58:10 +05:30
Hetu Nandu
4387200262
Sub tree evaluation (#1841)
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Piyush Mishra <piyush@codeitout.com>
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Akash N <akash@codemonk.in>
2021-01-04 15:46:08 +05:30
Piyush Mishra
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +05:30
Rishabh Saxena
17ded71de3
fix actions/queries not fetched after cloning a page (#2196)
* fix actions/queries not fetched after cloning a page

* cf fix

* update type

* update test to check if api is cloned

* trigger tests
2020-12-16 14:51:31 +05:30
Pawan Kumar
ad52842e1c
Fix/entity name coincide issue 1396 (#1781)
* Fixing the telemetry on self-hosted instances (#1714)

* Fix issue where creating a new application twice does not work (#1713)

* add check if name is conflicting with internal fn

* use already existing selector

* add conflicting names checks on api/queries/widget names

* add test cases for invalid widget/api/query names

* refactor

* change array to map

* remove getDataTreeKeys selector

* refactor

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-11-23 14:57:00 +05:30
Hetu Nandu
20ef86f118
Improve app initialisation for timeouts (#1412)
Fixes: #1510 

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2020-11-04 17:10:59 +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
Hetu Nandu
4cba17ab82
Add post eval action support (#1529)
Fixes #1504
2020-11-03 15:46:11 +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
Hetu Nandu
655b160922
Web worker evaluation (#706)
- 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
2020-10-21 09:55:32 +05:30
Nikhil Nandagopal
0a149f9e54
added cancel request logic for update layout, api and action (#1224) 2020-10-15 20:58:54 +05:30
Nikhil Nandagopal
3fdd0a246a
Feature/instrumentation (#744)
* bumped sentry version
modified performance monitor to use a queue internally to make synchronous logging easy
added logging for api pane close / open and various different methods

* added use effect to stop tracking on mount of entity properties

* removed open api tracking

* fixed stop tracking to pop from the end instead of the beginning
added tracking for editor mount and sidebar mount

* added tracking for entity explorer

* moved from app route to sentry app route because passing JSX to app route causes re-renders

* Fixing theme and route change issues.

* added performance tracking for API / Query execution and Page Load actions

* added isntrumentation to open / close actions

* added instrumentation for apis & actions

* reduced sample rate
added async tracking

* added tracking for property pane

* Remove tracking from reducer

* added option to attach async operations to parent transactions

* Fix typo

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-09-28 10:42:23 +05:30