Commit Graph

283 Commits

Author SHA1 Message Date
rahulramesha
0b37812b56
feat: resizable modal (#7312)
* dip

* resizable modal full working commit

* resizable modal minor fixes

* code restructuring

* fix canvas small size bugs and add migration to remove modal type

* moving resize modal to modal sagas

* layoutResize and last column width

* fix warning

* setResizible if resizing

* fix incorrect import

* fixing cypress tests

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-09-20 22:36:13 +05:30
akash-codemonk
9877fe4b05
fix: Switch to the debugger error tab when clicked on the debug button in toast (#7455) 2021-09-20 16:50:22 +05:30
Rishabh Rathod
373f64c9ca
feat: git sync ui update (#7486)
- fix commit & push functionality
- Add Link to docs
- Add user settings toggle

Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-09-17 22:28:04 +05:30
Rishabh Saxena
819f0c2753
feat: add git config to user profile settings (#7538) 2021-09-17 16:18:38 +05:30
Rishabh Saxena
f277fe92e0
feat: minor bottom bar UI updates (#7456) 2021-09-15 19:31:32 +05:30
Rishabh Rathod
a6c2a63ce9
feat: Git connection (#7269)
Add git connection UI

Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-09-13 18:56:24 +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
Rishabh Saxena
b61be1eb66
fix: persist draft comments on clicking outside (#7156) 2021-09-07 20:53:40 +05:30
Rishabh Saxena
ea1d49775c
fix: handle resolved/deleted comment threads after they're fetched (#7185) 2021-09-07 18:25:38 +05:30
Rishabh Saxena
685aa3b98c
feat: make comments publicly available (#7143) 2021-09-06 18:04:40 +05:30
arunvjn
d119737de9
feat: Introducing JS Snippets (#6453)
Users should be able to look up relevant snippets based on where they trigger snippets from, narrow down the filter results based on entities, customize the snippet with custom data, evaluate and see its real time value.
2021-08-29 09:20:16 +05:30
Hetu Nandu
3380227cbb
feat: Enable Promises in Appsmith (#6253) 2021-08-27 14:55:28 +05:30
Pranav Kanade
a1ba69adfc
feat: draggable comment pins (#6742)
* made inline comment pins draggable and added wrapper around overlay comments wrapper

* moved drag hook to pin

* can drag on canvas

* Properly updating the thread to be able to properly move the pin

* always passing the ref to container

* updating BE to save the new pins position

* minor fix

* changed a file name

* minor improvement to fix unit test

* fix, updated dragging reducer function to not expect appId

* removing unrelated change

* added drag and drop for comment pins without react dnd

* updated unit tests

* minor fix

* added a grab pointer and minor offset when user moves the pin

* removed unnecessary store states

* moved drop from onDragEnd to onDrop to reset everything.

* using state selector and dispatch hook

* removed use of anchor widget

* removed pointer change from comments wrapper

* verifying if current pin is being dragged

* updated action creator name

* moved dragging in comments reducer.

* using dragging thread id from store itself

* using relative positioning of pointer to predict the location of pin

* unit test cases fixed

* minor fix

* removed the dependency of off set from callback
2021-08-27 14:27:18 +05:30
Ayush Pahwa
5d30cb3537
feat: Changing evaluations for UQI from hidden type to js objects (#6792)
* Added a new type of UIComponent for DB editor forms

* Added a new state for UQI evals and connected it to the rendering form

* Added sagas to init and run the UQI eval

* Exporting fetch function as a selector

* Moved selector code to the formSelector file

* Added type to state config holder, removed custom diff function and fixed imports

* Fixed path, added the type for plugin in selector

* Created new enum, abstracted function for render and fixed var names

Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-08-26 11:07:07 +05:30
Pawan Kumar
960159eef3
Grouping widgets into container (#5704)
* Cut copy paste first cut

* removed different parent groups logic

* mouseup on the outer canvas removes selections.

* bug fix

* remove unwanted dead code.

* Adding tests

* build fix

* min height fixes

* fixing specs.

* fixing specs.

* fix merge conflcits

* fix border positioning

* fix canvas widgets incorrect bouding box

* fix bounding box position issue

* fix bounding box position issue

* fix

* border issue fix

* update test case

* add colors in theme

* use layers + use click capture on actions

* add icon for grouping

* fix overflow issue in contextmenu in containers

* fix context menu display issue

* update position of context menu

* fix container box-shadow issue

* fix container box-shadow issue

* revert container box shadow

* stop opening of property pane on shift clicking a widget

* remove console.log

* fix multiselect box issue

* add container on copy

* add analytics middleware

* refactor paste widget saga

* change flash element to accept array + revert refactor

* add logic to create containers from selected widgets

* update positions of grouped widgets

* fix comments + remove console

* update flashElementbyId to flashElementsById

* remove analytics middleware + remove unecessary imports

* add shorcut for grouping

* fix position issue when pasting

* allow grouping only when multi widgets are selected

* fix ux issues with widget grouping

* fix help text for grouping actions

* filter out the modal widget when calculting next row

* fix delete issue when grouping

* persist positin when grouping if there is no collision

* fix typo for new position

* changes for review comments

* changes for review comments

* fix position issue when pasting

* fix new container position issue

* move utils function to utils

* fix import issue

* fix the composite widget grouping issue

* fix table name bug

* remove repeated code

* move copied groups existence check;

* fix copied group check

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-08-25 10:30:31 +05:30
akash-codemonk
95c60bafeb
fix: Hide debugger errors until onPageLoadActions are run (#6786) 2021-08-25 10:04:42 +05:30
Ashok Kumar M
83147afdc5
feat: Widget grouping Extended Features (#6538)
- [x] Draw to select from outside of the editor.
- [x] Cmd + A to select child widgets inside containers, forms, list, tabs, and modals.

Fixes #5995
Fixes #6102
2021-08-24 17:08:20 +05:30
Rishabh Saxena
74bff938b5
Init git sync modal (#6641) 2021-08-18 15:10:31 +05:30
Rishabh Saxena
a1daa7e3f8
Handle deletion for comments and threads in realtime (#6605) 2021-08-18 12:51:21 +05:30
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
akash-codemonk
8e08e778d4
Update debugger error message CTA's (#6416) 2021-08-16 16:33:27 +05:30
Ashok Kumar M
b2ade8e17e
Fix: disable widget selections when widget dragging is in progress. (#6573)
* Fix: disable widget selections when widget dragging is in progress.

* new widget select

* fixing jest tests.
2021-08-16 14:54:42 +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
Ashok Kumar M
f19ebbafe9
[Feature] Widget grouping - Allow Drag and Drop of multiple widgets. (#5389)
* dip

* dip

* scroll

* fixes

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* solve for canvas glitches

* dip

* dip

* dip

* adjust scroll speed

* dip

* dip(code clean up)

* dip

* dip

* ---dip

* dip

* dip

* dip

* middle ware for dropping multiple widgets.

* adding scroll to drag for canvas selection.

* fixing drag disabled and modal widget(detach from layout) drops

* firefox and safari fixes

* rebase conflicts.

* fixing broken specs.

* fixing specs and adding jest tests.

* show border and disable resize when multiple widgets are selected.

* selection box grab cursor

* merge conflicts.

* code clean up

* fixing specs.

* fixed a bug and failed specs.

* fixing rerenders.

* code clean up

* code review comments

* always have the drag point inside the widget.

* fetching snap spaces instead of calculating.

* remove widget_move action

* fixing bugs with add widget parent height updation.

* fixing specs.

* List widget conflict fixes.

* fixing canvas drop persistence.

* Adding click to drag for modals and fixing few issues.
2021-08-12 11:15:38 +05:30
Pranav Kanade
2ae0c8c836
Feature: Show a list of realtime app editors (#6286)
* Added support for showing realtime app editors

* emitting an event only when socket is connected

* added a tooltip to show username/email

* using proper selector

* using theme

* created the separate component for listing editors

* created a separate hook for app collab events

* moved collab user type to /entities

* moved user visible strings to message constants

* Revert "moved user visible strings to message constants"

This reverts commit 04ac18a188b0117dd364ad764a4e0103bfd28ef6.

* made provision to reset the concurrent editors list
2021-08-09 14:34:24 +05:30
arunvjn
83249275a7
Omnibar redesign (#6288)
Omni bar would now have the categories navigation and documentation.
2021-08-09 11:52:37 +05:30
Rishabh Saxena
f0bf799b67
Use feature flag api to enable/disable comments (#6322) 2021-08-05 11:40:19 +05:30
Rishabh Rathod
a9f16d75bd
Enable Autocomplete for Static Objects (#6302)
* Remove type from COLORS constant

* Remove type from InputTypes in InputWidget

* Remove type from ReduxActionTypes

* Remove type from ReduxErrorActionTypes

* Remove type from SocialLoginTypes

* Fix widget actions issues

* Remove OPEN_SUB_PANE commented redux action
2021-08-03 13:36:48 +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
Pranav Kanade
3547976dc7
[Feature] new nav sniping mode (#5746)
* added sniping mode toggle option to header

* added cover to components on hover in sniping mode

* fixed the transition time

* using filled icon

* Show dependencies in action pane

* Added a wrapper to make a widget snipeable

* removed older parts of sniping from Positioned Container

* removed onclick action from snipeable wrapper

* Showing widget name in different color

* Added a mechanism to send user to sniping mode from successful API screen

* created new property pane saga to bind the data

* Fix datasource list width issue

* Fix sidebar going out of view when the response is a table

* Minor refactor

* Show add widgets section on the sidebar

* Stop showing autocomplete option after adding a widget

* fetching pageId, appId from store

* Get suggested widget from response

* Fix table data not getting evaluated after adding binding

* Fix property pane going below the entity explorer while navigating from query/api pane

* Fix width of sidepane shifting for apis

* Fix vertical margins of connections

* Fix api pane suggested widget showing up for errors

* Fix margins

* can show select in canvas btn in sidebar

* can get the action object at the end to bind the data

* updated saga and action names

* can bind data to table

* Use themes

* Use new image url for Table widget

* Added conditional mapping for sniping mode binding.

* updated the widget name tags and seq of calls to open property pane

* pushed all sniping mode decoration to header

* moved setting sniping mode logic to editor reducer

* Added keyboard short cut to get out of sniping mode

* updated reset sniping mechanism

* removed a divider line

* if there are no relationships, will not show the complete section

* Connect Data will automatically show relevant tab in integrations

* Update list and dropdown image urls

* Remove create table button

* no wrapping bind to text

* minor review considerations

* showing the widget name to left in sniping mode

* can set data to datepicker

* will not show snipe btn if there are no widgets in canvas

* Changes for multiple suggested widgets

* removed dependency of sniping from suggested widgets

* Added analytics events for sniping mode

* logic for binding data to a widget, moved to snipeable component

* changed binding widget func from capture to onClick and took care of sniping from widget wrapper too.

* added tests to check sniping mode for table

* updated test spec

* minor fix

* Fix copy changes

* Update test to use table widget from suggested widget list

* if fails to bind will generate warning and keep user in sniping mode

* in sniping mode will only show name plate if it is under focus

* fixed the test case

* added a comment

* minor fix to capture on click event in sniping mode

* updated text

* Hide connections UI when there are no connections

* Increase width to 90%

* Show placeholder text and back button in sidepane

* Show tooltip on hover

* Add analyitcs events for suggested widgets and connections

* Update label based on whether widgets are there or not

* binding related changes

* renamed the saga file containing sinping mode sagas

* Changes for inspect entity

* Revert "binding related changes" temporarily

This reverts commit 54ae9667fecf24bc3cf9912a5356d06600b25c84.

* Update suggested widgets url

* Update table url

* Fix chart data field not getting evaluated

* a minor fix to show proper tool tip when user hovers on widget name

* Show sidepane when there is output

* Update locators

* Use constants for messages

* Update file name to ApiRightPane

* Remove delay

* Revert "Revert "binding related changes" temporarily"

This reverts commit ee7f75e83218137250b4b9a28fcf63080c185150.

* Fix width

* Fix overlap

Co-authored-by: Akash N <akash@codemonk.in>
2021-07-26 22:14:10 +05:30
akash-codemonk
f1e829fe4a
Feature: Show error state in property pane connections if associated connection has errors (#5877) 2021-07-21 18:10:46 +05:30
Vicky Bansal
6f91c1afd8
Feature/draggable filters in table widget (#5886)
The filter pane in the table widget was fixed to top which would hinder the viewport for the end user. We have now changed the filter pane to a draggable component such that the user can place it anywhere on the canvas while they apply filters to see data change in realtime.

* FEATURE #4088 : added draggable filterpane for table widget

* FEATURE #4088 : update icons, editMode prop and added renderDragBlock support in popper

* FIX #5329: added close button for close filter pane

* FIX #5332 : updated zindex for table filter pane

* fix list widget test

* Fix drag icon position and cypress failing tests

* Fix endsWidth comparator function
2021-07-20 10:48:58 +05:30
Nayan
6efe78479f
[Enhancement] Add link to unsubscribe from email notification for a comment thread (#5769)
* -added API to and template for unsubscribe  comment thread

* -changed public API url to make it sepratate from client public pages
-included the unsubscribe link to email body

* -made unsubscribe email notification API to private

* -added unsubscribe page

* -removed unused code

* Update app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/Comments/UnsubscribeEmail_spec.js

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

* Update app/client/src/pages/common/UnsubscribeEmail.tsx

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

* Update app/client/src/pages/common/UnsubscribeEmail.tsx

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

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/BaseAppsmithRepositoryImpl.java

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

* -updated text as per lint error

* -updated text as per lint error

* -moved unsubscribe screen texts to messages.ts

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2021-07-20 00:14:38 +06:00
akash-codemonk
1265105970
Analytics for debugger errors (#5660) 2021-07-08 11:01:08 +05:30
Rishabh Saxena
93ec3c17c3
Init and update unread comment threads count and show indicator (#5674) 2021-07-07 20:43:44 +05:30
Aswath K
2c6e8a388e
Shows 'last saved' time on hovering over the 'saved' icon (#5092) 2021-07-07 18:17:01 +05:30
Pranav Kanade
f414285201
[Feature] Unified New Nav (#5558)
* temp commit

* using onsubmit to continue using action on form

* added recaptcha site key to env example file

* moved the recaptcha lib loading logic to signup page

* removed unnecessary edit

* handle the case where the recaptcha token is not provided as env var

* added proper env var config for client

* recaptcha config for ansible

* recaptcha config for heroku

* recaptcha config for k8s

* updated app.json

* fixed the typos

* added more description for env vars

* removed api key

* minor typo fix

* added new integration button

* updated the add int default link

* added active and create new tabs

* added the empty components to tabs. will control the section manually.

* added proper grid for integrations page

* added vertical tabs

* Added secondary tabs to integrations page

* added separate page for new apis

* classname changes

* added new components for active queries, new queries etc.

* added a separate component for data source list

* adding screen component conditionally, to be showing upon user's choice

* 1. Added grid styling to datasource home
2. Added connect buttons to em

* fixed data source security banner

* updated the styling for new api page

* added tertiary menu for active integrations

* updated styling for active connections

* updated collapse component to work properly

* added show more option to active data sources

* Slash commands feature init commit

* Added more commands

* Introduced JSX to render custom commands

* Merge conflict fix

* Spacing changes

* removed apis/db tabs and replaced em with integrations tab

* removed the unnecessary + integrations btn

* Added slash commands button

* Adjust styles for better ui

* Ordered the action entries under integrations

* Added new datasource command

* updated the getURL with proper params

* updated the link of create datasource btn

* updated the back btn link from data source editor

* Show connect data cta in property pane

* Styling fixes

* Fix margin

* added scrollable content to create new

* added on click scroll to create new page

* fixed a bug, creating new datasource twice

* added new action creator for integrations.

* Minor changes to add new bindings command.
Changed ui behaviour of / button

* UI style change

* updated the query editor to match the over all theme

* updated the query editor tabs

* Added the run btn to empty response screens

* minor fix

* updated the bg color of api type drop down

* updated the url being visited after delete api/query

* removed log

* Insert binding command UI change

* More UI changes

* removed unnecessary junk from integrations editor index

* clean up, removed unnecessary files

* removed useless routes

* for debugger only checking if integrations editor

* Removed all the links for api/query home pages

* Move command actions to a saga
Added support to binding the data back to the widget when are new API is created from widget

* Added reverse binding for DB queries

* Show / button only on hover

* not routing to integrations on create query/api

* Hide actions from suggestions in action pages

* removed the query/datasource/api home pages

* Changes widget.data to widget in slash commands

* Show dependencies in property pane

* Fix warning

* fixed scrolling issue

* will show a list of queries and apis for action picker

* showing icons for each action under integrations

* Fix dropdown not showing up

* Minor refactoring.
Changed commands

* added a way to list data sources in action creators

* Update query page url

* cam show icons for datasources

* Removed unused code

* Feature/slash commands (#5002)

* Slash commands feature init commit

* Added more commands

* Introduced JSX to render custom commands

* Merge conflict fix

* Spacing changes

* Added slash commands button

* Adjust styles for better ui

* Added new datasource command

* Minor changes to add new bindings command.
Changed ui behaviour of / button

* UI style change

* Insert binding command UI change

* More UI changes

* Move command actions to a saga
Added support to binding the data back to the widget when are new API is created from widget

* Added reverse binding for DB queries

* Show / button only on hover

* Hide actions from suggestions in action pages

* Changes widget.data to widget in slash commands

* Minor refactoring.
Changed commands

* Removed unused code

* remove more unusued code

* Added support to generate new api from a datasource in quick commands

* Code correction to use types

* Refactored commands code

* Minor bug fixes

* Remove new integrations command for actions.
Fixed autocomplete not showing up

* Changes to prevent autocomplete trigger for navigation commands

* Prevent hinter execution when show hint is open already.

* Show hinter on focus

* Update text to be called in the omnibar

* updated the copy for empty active datasources

* Update url

* Fix text decoration

* updated the redirection for back btns

* Use themes

* Add cypress test

* fixed back btn nav

* fetching form configs for datasources

* a callback fixed

* Fix slash command not executed on click (#5540)

* Replace the value if not a string else append

* Log commands menu events

* updated mock data base navigation

* updated mock data base navigation

* updated the close editors and back buttons

* All back btns from editors will go back to data sources and back from data source will go back to canvas

* fixed bg colors

* minor styled updates

* removed margin from header of generic datasource

* warnings fixes

* If user is already on the location not redirecting em

* when editing, will check if the coming from data source and redirect accordingly

* updated redirection for newly created api/queries

* updated back btn for newly created datasources

* back for new curl goes to data sources

* Revert "[Fix] revert new nav (#5533)"

This reverts commit 1647815d

* remaining original reverted chagnes

* fixed the width of incoming/outgoing entity bar in property pane

* removing residue from resolved merge conflicts

* Fix widget icons not visible in dropdown menu

* minor fix to use proper integration URL

* updated the URLs for unified datasources

* converted back and close to btns from banners

* on accessing data source from sidebar, it'll always go to view mode

* updated the edit path for saas editors

* Added saved state for google sheet

* on google sheet delete redirecting to create new

* minor fix

* fixed the redirection call on saving a datasource

* removed save and test cmd as it wasn't needed

* Removing test cases to be fixed by Arun

* commenting more tests to be fixed by Arun

* updated call api cy command

* Fix extra margin issue

* fixed the update datasource saga

* fixed video spec

* Revert "commenting more tests to be fixed by Arun"

This reverts commit 42087a95ad77107401a1619e4c2d4c541a81d6c3.

* Revert "Removing test cases to be fixed by Arun"

This reverts commit f6fad67e558d22045114a90409428ef9b737478f.

* fixed the entity explorer query datasource spec

* cautious fix

* update widget locators

* fixed leave org test

* fixes for FormWidgets

* updated the image spec

* Use memo

* Fix debugger url checks

* for copy and delete widget pointing directly to svgs

* Fix entity text

* Fix styling and show tooltip for property pane dependencies

* removed the unnecessary callback

* added a separate saga to to redirect to new integrations using onSuccess

* Bug Fixes - New nav (#5629)

* will show scrollbar only on hover

* made mock data cards clickable

* fixed the grid view

* fixed the cursor position when clicking on / btn

* updated the hint for `/` command

* binding prompt will close on focus change

* hiding / command for api body

* hiding / command for query pane

* Added 2 new icons

* Fix cursor position on selecting a binding and clicking on the slash menu button

* trying out fix to copyWidget cy command

* removing zero width space characters from the property pane text

Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Akash N <akash@codemonk.in>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-07-07 09:16:16 +05:30
Pranav Kanade
1647815d24
[Fix] revert new nav (#5533)
* Revert "[Bug] Mock data section is missing (#5517)"

This reverts commit be48f2f5

* Revert "[Feature #4542] : simple nav unify api/datasource (#4987)"

This reverts commit 8d8b9ed2
2021-07-01 18:14:41 +05:30
Pranav Kanade
8d8b9ed203
[Feature #4542] : simple nav unify api/datasource (#4987)
* temp commit

* using onsubmit to continue using action on form

* added recaptcha site key to env example file

* moved the recaptcha lib loading logic to signup page

* removed unnecessary edit

* handle the case where the recaptcha token is not provided as env var

* added proper env var config for client

* recaptcha config for ansible

* recaptcha config for heroku

* recaptcha config for k8s

* updated app.json

* fixed the typos

* added more description for env vars

* removed api key

* minor typo fix

* added new integration button

* updated the add int default link

* added active and create new tabs

* added the empty components to tabs. will control the section manually.

* added proper grid for integrations page

* added vertical tabs

* Added secondary tabs to integrations page

* added separate page for new apis

* classname changes

* added new components for active queries, new queries etc.

* added a separate component for data source list

* adding screen component conditionally, to be showing upon user's choice

* 1. Added grid styling to datasource home
2. Added connect buttons to em

* fixed data source security banner

* updated the styling for new api page

* added tertiary menu for active integrations

* updated styling for active connections

* updated collapse component to work properly

* added show more option to active data sources

* removed apis/db tabs and replaced em with integrations tab

* removed the unnecessary + integrations btn

* Ordered the action entries under integrations

* updated the getURL with proper params

* updated the link of create datasource btn

* updated the back btn link from data source editor

* added scrollable content to create new

* added on click scroll to create new page

* fixed a bug, creating new datasource twice

* added new action creator for integrations.

* updated the query editor to match the over all theme

* updated the query editor tabs

* Added the run btn to empty response screens

* minor fix

* updated the bg color of api type drop down

* updated the url being visited after delete api/query

* removed log

* removed unnecessary junk from integrations editor index

* clean up, removed unnecessary files

* removed useless routes

* for debugger only checking if integrations editor

* Removed all the links for api/query home pages

* not routing to integrations on create query/api

* removed the query/datasource/api home pages

* fixed scrolling issue

* will show a list of queries and apis for action picker

* showing icons for each action under integrations

* added a way to list data sources in action creators

* cam show icons for datasources

* linked integration tab movement to URL

* fixed the create new query bug

* removed search

* added the auto redirection mode

* added new mode to support showing mock data bases

* on click show more works properly

* removed extra padding

* removed height

* showing all the data sources on active tab

* fixed the creation of google sheet

* updated the proper routing for curl

* fixed page height

* removed loader

* added a spinner for creating a new api

* will be showing edit/add query permanantly

* updated the redirection on save and delete datasource

* fixed the redirection logic on delete

* will not show security banner

* added empty state for active data sources

* updated the hover state

* minor fix to redirect on delete from entity pane

* fixed a cy command to create new api

* fixed a command to select api/query from lightning menu

* updated the navigate to data source editor

* removed add btns for new int creation

* updated the testSaveDeleteDatasource command

* fixed bind table text pagination spec

* more test case fixes for deleting a query using context menu

* update curl test

* updated curl post import spec

* fixed click from apis to integrations

* updated execute db query command + updated delete query mech

* updated CreationOfUniqueAPIcheck command

* updated query datasource spec

* fixed an action creator bug.

* fixed curl api creation bug

* removed irrelavent part of the test

* fixed the button colors

* updated back link from datasource page

* Revert url validation changes for the debugger since this is used to check whether we are on a query or an api and show its dependencies

* updated a test case to open integrations option in action selectors

* Update app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx

Co-authored-by: Rishabh Saxena  <rishabh.robben@gmail.com>

* separated msg

* styling fixes for collapse component

* renamed a file

* declared a new const in theme

* updated border

* removed a faint line from collapse card

* removed unnecessary condition

* updated component name

* log removed

* split action creator file

* updated the icon usage in action creators

* can properly fetch mock data sources

* can show mock databases in create new

* can use mock db sources

* fixed the scrollbars

* updated the api icon for both global search + action creator

* updated integrations name in datasources

* added a back to canvas ribbon

* updated query and api editor to show back to canvas ribbon

* added a ribbon to go back

* updated button styles

* updated the action creator and test commands/classes

* updates to show the proper mock databases

* added proper type for mock datasources

* removed unnecessary log

* updated a test case to work with new nav

* minor updates for tests

* updated a command to properly delete a datasource

* minor redirection fix

* made the mock db api call unblocking

* fixed scroll bars all over

* fixed bg colors for back ribbons

* declared a constant for thin scrollbar

* removed unnecessary action.

Co-authored-by: Akash N <akash@codemonk.in>
Co-authored-by: Rishabh Saxena  <rishabh.robben@gmail.com>
2021-06-30 23:51:52 +05:30
Ashok Kumar M
cf19b8e44d
[Feature] Widget Grouping Phase - 3 (Cut Copy Paste) (#5083)
* Cut copy paste first cut

* removed different parent groups logic

* mouseup on the outer canvas removes selections.

* bug fix

* remove unwanted dead code.

* Adding tests

* build fix

* min height fixes

* fixing specs.

* fixing specs.
2021-06-28 12:41:47 +05:30
Rishabh Saxena
b24dd8f8b2
Minor collab fixes (#5271) 2021-06-24 14:34:27 +05:30
Rishabh Saxena
c351643f57
Notification updates (#5239) 2021-06-23 21:12:07 +05:30
Ashok Kumar M
a76b8cad9b
Feature: Widget Grouping Phase II (#4825)
* dip

* dip

* Cleaning up grid density positioning.

* dip

* dip

* dip

* dip

* code clean up

* dip

* dip(restructuring widget selection)

* Deselect parents and children of a widget when user multi selects.

* dip

* dip

* dip

* dip

* dip

* fixing a bad merge

* fixing tests

* adding jest tests.

* common util

* dip

* dip

* fixes

* restrict in deploy mode.

* fixing dynamic layout.

* fixing tests.

* on paste fix.

* fixing specs.

* addressing code review comments

* dip

* dip

* dip

* fixing specs.
2021-06-17 18:56:54 +05:30
Hetu Nandu
123fc4bc1d
Fix incorrect action type reference (#5121) 2021-06-15 12:39:27 +05:30
Rishabh Saxena
9c75596957
Init notifications (#4839) 2021-06-09 20:02:17 +05:30
Kaushik Varanasi
3a6da2d797
Feature/import applications (#4483)
* Added export option to app menu. TODO: call api to download app file

* Added checkbox component and removed unused code

* Added import app without filepicker. Opens modal

* added ability to fetch the exported app

* can download exported application as a json file

* Updated the file picker component to accept other file formats

* WIP import app

* Added functionality to import application json file

* minor fixes

* Made the file type prop mandatory for file picker

* added a test suite for export app

* Test added to check if on import application click, it open a modal

* added a dummy application file for cypress testing

* Added end to end integration test suite
to verify import app feature

* added test to verify the export api status and download file.

* added a linked btn to carry exporting.
- according to latest BE changes

* Removed old redux and saga mechanism for app export

* updated cypress test to validate new flow

* fixed minor linting errors

* updated test case title

* updated the test cases for import/export app feat

* review changes

* added prop to facilitate delayed upload

* added new application file to fixtures. Minor fix to take care of loading state.

* Removed export app modal. Added one click action, to download the file.

* Updated File picker to work with all other files acc to the design.

* Updated the import modal

* updated the import application test

* Added remove upload tooltip

* updated the icons for import/export actions

* removed unused logs

* added hard coded feature flag to hide/show import export feature

Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-06-03 11:48:08 +05:30
Nayan
78915301e3
[Issue #4572]-Allow users to leave an organization (#4634)
* [Issue #4572]-Added API to leave organisation by any user

[Issue #4572]-Add option for organization admins to leave an organization

* -add option to leave organization in frontend for non-admin users

* -updated the leave org endpoint path and HTTP method as per PR review

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* -add cypress test and some minor changes as per PR comment

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-02 15:56:22 +06:00
arunvjn
9e8e432a1f
Feature/cmd enter to execute actions (#4774)
Added new global hotkey to trigger Run on cmd+enter

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apple <nandan@thinkify.io>
2021-05-31 21:10:21 +05:30
akash-codemonk
cbca6bedd4
Clear debugger errors on page switch (#4672) 2021-05-28 19:44:44 +05:30
Rishabh Saxena
9f76218306
Trigger invite flow via comments (#4602) 2021-05-27 11:51:36 +05:30
Rishabh Saxena
8964aea9df
[Feature] Comments feature updates (#4579) 2021-05-20 17:33:08 +05:30
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
akash-codemonk
51b98eed2f
Fix: Debugger shows errors for evaluations done on page load (#4552) 2021-05-18 17:21:32 +05:30
akash-codemonk
cbace9d5d7
Fix: Debugger showing previous application logs (#4455) 2021-05-17 15:31:22 +05:30
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

* Controlled comment thread visibility for making new comments visible by default

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

* fix close on esc key, dont create new comment on outside click

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

* Show view latest button, scroll to bottom on creating a new comment

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

* Minor fixes: comment on top of all widgets, add toggle button at viewer header

* Reconnect socket on creating a new app, set connected status in store

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

* Fix: check if editor/viewer is initialised before waiting for init action

* Add tests for comments reducer

* Revert "ENV var to set if comments are enabled"

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

* Ignore dependency-reduced-pom.xml files from VCS

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

* Added human readable id to comment threads, fallback to username for null name in user document

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +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
Kaushik Varanasi
9752631103
Bugfix: omnibar issues : fixes #3742 (#3998)
* Added reducers and sagas for cleaning up ui.pageWidgets on creating new application

* Add border and scale to omnibar helpbar on hover

* Added analytics event for omnibar fire on clicking help button

* Linked documentation buttons in API pane and DB query pane to Omnibar

* Added tests to make sure Omnibar has correct styles

* Added margin to make sure border is visible

* Added cypress tests to check that api pane documentation opens the omnibar modal

* Added tests for page widgets reducer reset widget state action

* Added cypress tests to check db documentation opens in global search modal

* remove scale transform

* update recent widgets on selecting widget from omnibar and also clear search when done

* added some documentation links for specific db queries

* added more documentation links, added analytics for omnibar open, set query on opening omnibar from navigation

* remove slicing of 1st option in recent entities, revert previous code and remove console log

* make query syntax better

* add transparent border to remove side effects

* ensure that query is empty upon opening omnibar

* add omnibar documentation helpers to constants

* remove unused files

* added omnibar open and search to readmore button in new query pane

* added analytics event, cleanup and documentation

* removed unused set queries

* Fixed failing cypress tests according to new workflow. Removed invalid comments
2021-04-26 22:15:03 +05:30
Hetu Nandu
c92eb0e5a4
Introduce different evaluation types for different binding fields (#3834) 2021-04-26 11:11:32 +05:30
akash-codemonk
36532cbcc8
[Feature] Debugger logs (#3633) 2021-04-23 19:20:55 +05:30
Nidhi
6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

* Merge branch 'release' into feature/google-sheets

* Merge branch 'release' into feature/google-sheets

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

* Merge branch 'release' into feature/google-sheets

* minor cleanup

* Merge branch 'release' into feature/google-sheets

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

* Merge branch 'release' into feature/google-sheets

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

* Modified design to allow behaviour in google sheets methods (#3486)

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

* Merge branch 'release' into feature/google-sheets

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

* Changes to Google sheets plugin's request and response structures (#3692)

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

* List SAAS plugin type actions under lightning menu apis (#3820)

* list saas plugin type actions under lightning menu apis

* combine saas plugin type actions in the other sub menu of lightning menu

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


Co-authored-by: hetunandu <hetu@appsmith.com>

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

* Fixed tests, typos and creating new sheets with random rows

* Switched to using 'rowIndex' throughout

* binding path added for query input field (#4016)

* - Fixed QA bugs (#4032)

- Split delete sheet into two
- Removed dynamic query input types from hidden keys

* Proper exceptions

* Removed extra logging

* Throw exception if update method does not match any of the columns

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

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: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Ashok Kumar M
bf21c15ba9
Feature: Property pane enhancements(Bug fixes + Draggable popper) (#3748)
* Fix: On renaming a widget via entity explorer the canvas gets resized

* Fix: Close prop pane on resize start of unselected widget.

* Fix: Match all - corejs polyfill

* Fix: Proppane not updated properly when same type widgets are selected.

* Feature: Draggable Proppane.

* Bug fixes for draggable popup.

* Fix: Property pane editor when selecting another widget.

* resolve rebase bad merges.

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fixes

* cytest fix

* fixing draggable components inside porp pane.

* Adding cypress test.

* refactored Draggable list POC version

* reverting unwanted changes.

* prop pane bug fix

* unwanted dependencies.

* double click to open prop pane.

* Fixing bugs in draggable prop pane.

* one click prop pane open.

* ignore drag/resize click captures

* make prop pane draggable only via drag handler.

* Fixed property pane title.

* converting layer to hook and adding it to top most layer.

* removing irrelevant comments.

* close panel when widget changes.

* fixing cytests.

* bug fix

* fixing cytest

* Addressing code review comments.

* bug fix
2021-03-29 21:17:22 +05:30
hetunandu
b0580e9ee0 Revert "Feature: Property Pane improvements (#3561)"
This reverts commit 3437c16ef0.
2021-03-29 16:58:22 +05:30
Ashok Kumar M
3437c16ef0
Feature: Property Pane improvements (#3561)
* Fix: On renaming a widget via entity explorer the canvas gets resized

* Fix: Close prop pane on resize start of unselected widget.

* Fix: Match all - corejs polyfill

* Fix: Proppane not updated properly when same type widgets are selected.

* Feature: Draggable Proppane.

* Bug fixes for draggable popup.

* Fix: Property pane editor when selecting another widget.

* resolve rebase bad merges.

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fixes

* cytest fix

* fixing draggable components inside porp pane.

* Adding cypress test.

* refactored Draggable list POC version

* reverting unwanted changes.

* prop pane bug fix

* unwanted dependencies.

* double click to open prop pane.

* Fixing bugs in draggable prop pane.

* one click prop pane open.

* ignore drag/resize click captures

* make prop pane draggable only via drag handler.

* Fixed property pane title.

* converting layer to hook and adding it to top most layer.

* removing irrelevant comments.

* close panel when widget changes.

* fixing cytests.

* bug fix

* fixing cytest

* Addressing code review comments.

* bug fix
2021-03-29 15:28:52 +05:30
Hetu Nandu
9a4c317f20
Store value improvements (#3663) 2021-03-24 10:39:47 +05:30
akash-codemonk
1be56a8512
Applications marked as forkable can be forked (#3453) 2021-03-10 12:38:20 +05:30
Rishabh Saxena
99b3fa6bb8
Omnibar global search (#2903) 2021-03-08 13:54:12 +05:30
akash-codemonk
1e4878f983
Support editing user's name field (#3306) 2021-03-04 15:07:02 +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
Ashok Kumar M
a7e0990cf8
Feature: Canvas Layout Options(max width config) (#3141)
* Feature: Canvas Layout Options(max width config)

* Fixing css issues.

* Changing Default Device option to Desktop.

* Changed Implementation to maintain resize updates within the client.

* Addressing code review changes.

* Updating device resolutions.

* updating cytests

* Fixing resize bug.
2021-03-03 10:56:47 +05:30
Rishabh Saxena
d48e00422e
Minor code cleanups (#3165) 2021-03-02 11:25:45 +05:30
Hetu Nandu
0b08edf5cc
Fix further cyclical dependencies in actions (#3259) 2021-03-01 20:27:15 +05:30
akash-codemonk
7fa5e3b1af
Hide pages in publish mode (#3106) 2021-02-24 19:17:37 +05:30
Ashok Kumar M
d1822a9dee
Feature: Modal Widget (#3092)
* Feature: Modal Widget(DIP)

* Adding cypress tests.
2021-02-23 09:48:23 +05:30
Nidhi
8823f9d407
Added client credentials grant type for OAuth2 (#2649)
* Added client credentials grant type for OAuth2

Co-authored-by: Piyush <piyush@codeitout.com>
2021-02-11 17:58:06 +05:30
akash-codemonk
c1b3f311e3
New onboarding flow (#2686)
Co-authored-by: a <rishabh.robben@gmail.com>
2021-02-11 12:06:07 +05:30
Rishabh Saxena
32b641c118
Implement new designs for the editor and viewer's navbar (#2750) 2021-02-04 12:32:36 +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
Rishabh Saxena
969b6fd0d2
Product updates modal (#2453) 2021-01-19 11:47:15 +05:30
Hetu Nandu
2b8bae158c
Batch action evaluation calls (#2561) 2021-01-14 20:07:21 +05:30
Pawan Kumar
563c32d203
[Fix] - Authentication after 404 not redirecting back to the original page (#2423)
* add redirect issue

* add check for crash code

* redirect anonymous user to login page

* remove unused selector

* move redirection logic to error saga level

* update action type name

* replace occurance of redirectTo to redirectUrl

* remove unused selector in PagenoutFound + change saga name

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-01-06 16:54:16 +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
akash-codemonk
1a35bb1e75
Onboarding flow (#2311) 2020-12-30 13:01:20 +05:30
Arpit Mohan
a942dc198e Revert "Onboarding flow (#1960)"
This reverts commit e84699e7ba.

Reverting this commit because this flow requires more changes before it's ready for prime-time.
Will continue development on this feature in a different branch
2020-12-22 13:02:02 +05:30
akash-codemonk
e84699e7ba
Onboarding flow (#1960)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-12-18 18:48:47 +05:30
Pawan Kumar
e63f0a9d2a
Fix: 404 error page shows server unavailable (#2195)
* mount error wise route

* remove log

* add test case

* fix wrong error page

* fix typescript error + remove unused variable

* remove 404 + 500 routes

* remove unused imports

* fix typo in test case

* remove history replace in utils

* remove unused variable

* add error codes for safe crash

* remove unused variables

* add error codes in all api rejects + update error reducer code type

* update error codes in init saga

* add selectors for error safe crash + take error logic out of app router

* remove unused variables

* remove extra line

* add header in error pag

* refactor page header on error page

* remove unused import

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-12-17 12:33:59 +05:30
Hetu Nandu
04e963c599
Fix for 502 errors from the server (#1949) 2020-12-09 00:43:48 +05:30
satbir121
8afa900044
Filepicker component and logo upload for org (#250) 2020-12-02 03:31:27 +05:30
devrk96
461b662c7a
Feature: Rename organization in homepage (#1201) 2020-11-25 17:54:14 +05:30
Hetu Nandu
9f0363812e
Default page id fixes (#1628)
* Fix App invite form not getting the correct page id

* localise confusing getDefaultPageId function

* Remove old fetch application workflow action
2020-11-09 14:22:44 +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
f4d9277950
Fix this (#1379) 2020-10-23 23:32:59 +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
akash-codemonk
380da11ef0
Query home page with datasource information (#1237) 2020-10-20 14:30:02 +05:30
akash-codemonk
47847cbc7c
Add widget cta in query pane (#1157) 2020-10-15 12:51:00 +05:30