* 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>
* 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
* update structure of chart data
* update chart data
* update chart data structure
* remove array like validator
* remove log
* remove log
* widget utils + update tests for chart data validations
* update utils test
* add migrations
* remove unnecessary helper function
* remove unnecessary helper function
* update validation test cases
* WIP
* WIP 2
* Remove validationConfigMap from widget and add to properties
* Update data tree validator to get validation from the correct place
* Minor reference fixes
* Fix test mocks
* fix for bad setting of nested property path
* add test for migration for chart widget function
* fix test for widget utils
* remove unused import;
* remove unsued import
* update migration version
* remove console and add check if data is array
* fix custom fusion chart + validation not working issue
* move custom fusion chart config to chart data section
* remove console and unused import
* fix test
* fix property config test
* fix dynamicbinding path list in migration
* remove old chart validation
* remove old validation test
* fix widget prop utils test
* remove array codepath for widget utils
* fix utils test
* fix utils test
* fix prettier issue
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
* 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>
* 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>
* WIP : Type migration from String to Object for value
* Migrating config from string to boolean for prepared statement.
Handled error for already stored actions where PS config is stored as String and not Boolean.
* Added dependencies to be added to dependencyMap on client to Postgres, MSSQL, MySQL and Mongo plugins
* Added Dependency config for API
* Fixed the test case
* Property pane enhancements
- Property pane sections are collapsible
- Property pane controls can be hidden conditionally
- Property pane configurations now come from the widget instead of a global config file
- Property pane property updates can be hooked with other related updates
- Property pane control and section ids are generated dynamically now.
* Add chart type: "Custom FusionChart" (#2996)
Co-authored-by: Zeger Hoogeboom <zegerhoogeboom@users.noreply.github.com>
Co-authored-by: zeger <zeger@equinoxai.com>
* Fixed error message for single user invite
* updated success message for single user invite and created tests
* use state to detect and update the number of users invited
* removing unnecessary lines
* typo
* Remove width and introduce more AppLayout type enums
* Fix: Adding min width to layout options.
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
* Date picker validation fixed
* Added date value check to remove unncessary validations
Commented defaultDate validation test as invalid date cannot be saved in date control
* Fixed date selection on user change
Fixed min and max date parsing for date picker control default date
* Added validation for min and max date in validations to handle validations when field is converted to JS
- 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
- Reduce the delay for the deploy modal to 1s.
- Separate ONBOARDING_ADD_WIDGET from ONBOARDING_ADD_WIDGET_CLICK event
- Add step metadata for skip onboarding event
- Improve the contrast for the add widget button
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
* add daterange property control
* fix typescript errors
* update daterangepicker control
* remove daterangepicker control
* add toasts for invalid dates + add test cases
* update test cases
* update test cases
* update test cases + change validation type name + few refactor
* merge release + update toast usage in datepicker control
* update test cases
* update form dsl for test cases
* update test cases
* update setDate command in test cases
* update test cases
* update test case dsl for datepicker widget
* update test cases
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* 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>
* Added defaultSelectedRow property in table widget so that users can configure default selected rows
* Cypress test cases added to test default row selection in table widget
* Fix defualtSelectedRow property's evaluation type
* Fix default select row type
* Set default selected row when resetting user selected rows
* Use defaultSelectedRow when no user selected row in table
* add second whitelist ip for create datasource page
* revert the cloudhosting check on help button
* update name of util function
* remove unused key
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* 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>
* 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>
- 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
* create new app flow
* uncontrolled component error fixed
* loader added when user is deleting or user role is updating
* home page loader and create-new-app loader added
* user role changing and use deleting state fixed
* PR feeback changes added
* orgname loader added
* warnings removed
* fixed create-new-app flow and delete app test cases
* beforeAll test case condition fixed
* Initial navigation condition fixed in createOrg test cases
* app card loading state fixed
* Add datasource connected page
* Default to show connected screen in datasource editor
* Update UI
* Fixes
- Change text from connected to saved
- Show key with empty values if there are no values
- After creating a new datasource go to edit mode
* Stop calling test on save
* Fix tests
* Fix test
* Dummy commit
* Always be in view mode unless clicked on edit mode
* Fixes
- Update datasource connected page for rest api datasource
- Fix empty array values not resetting
* Fix create new api crashing
- While creating new datasource show form in edit mode
* Fix tests
* Adding base code for google re-captcha.
* Removing recaptcha as well
* Adding recaptchaToken on Button.
* Fixing updateMetaProperty errors.
* Handling recaptcha generation failed case.
* Adding a message for recaptcha token gen fail
* Rename setRecaptchaToken
* Adding loading state for recaptcha button
* Adding googleRecaptchaKey as a Btn prop
* Adding the bound functions in widgets
* Removing unused vars.
* Handling google recaptcha key error.
* Adding proper messages for
* light and dark mode added in Invite modal
* warnings removed
* create org and invite user test cases fixed
* Application invite design implemented
* manage user icon added
* button width fixed
* PR feedback implemented
* test cases fixed
* used blueprint classes
* used calc for width distribution
* copy button width fixed
* prop passing fixed
* copy button size reduced
* readonly input field background color fixed
* input background theme name ordering changed
* TagInputComponent moved to ads
* created DropdownWrapper for select field in orgInviteForm
* Warnings created due to unique key and depdencies is fixed
* Warning fixed in dropdown component
* correct prop name used
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
* 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>
* Working version of video player.
* Adding default video url
* Reducing the default widget of video widget
* Fixed tests
* Adding video icon.
* Removing commented code.
* Adding playState, onPause, onStart, onEnd.
* Adding onPlay event.
* Fixing onPlay
* Adding isVisible field.
* Changing video icon.
* Fixing Popover table video.
* Adding an error message for no url.
* variables defined in light and dark constants in theme.
* warning message removed
* Fixing create app btn click opening form
* blackShades removed and icon color in application card fixed
* state change fixed
* type of light and dark constants added
Co-authored-by: Satbir Singh <satbir121@gmail.com>
* Updating homepage body color
* WIP: Fixing scrolls and adding anchors
* Removing divider from bottom of the page.
* Adding hover background color to app card
* Changing edit and launch icons.
* Fixing app name paddding in card.
* Fixing workspaces overflow
* Adding right padding to applications view
* Adding share icon to share btn
* Fixing Application card styles.
* Fixing text decoration in button.
* Adding new workspace button
* Fixing new workspace and new app styles.
* Adding icon sizes.
* Fixing Org Name and Org settings menu.
* Application menu working
* Fixing overlay visibility on app card
* Fixing settings page content width.
* Fixing workspace icon
* Changing app card colors.
* Removing debugger
* Adding app icon.
* Fixing the spaces in application card
* Adding storybook-static folder to gitignore.
* Adding other storybook files.
* Adding menu items for app
* Removing cypress selector from text.
* Menu width issue fixed
* Default app icon color added
* Removing hardcoded colors
* Removing hardcoded colors.
* Light Mode on!
* Showing correct icon and color in menu
* Update color working properly.
* Updating appIcon
* Editable text working.
* Adding validator
* Adding edit permissions to menu
* Removing box shadow on app card.
* Fixing context menu fill color
* Fixing Menu hover issues.
* Fixing menu open close hover issues.
* Fixing settings pages
* Changed Workspace to org.
* Fix: State management in EditableText Component (#540)
* Error state height is fixed as per design
* savingState prop condition fixed
* Fixing createnew.
* Fixing saving state for application card.
* Fixed application card editable text error.
* Fixing issue caused during merge.
* Fixing tests in create org.
* Removing commented code.
* Removing unwanted vars.
* Fixing delete duplicate tests.
* Latest color palette.
* Fixing form and table widget.
* Removing switcher from header
* Removing unused files
* Fixing app card context dropdown
* Show overlay fix
* Adding localStorage support to theme.
* Making dark mode the default.
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
* callout component with story implemented
* text className import fixed
* callout color and background color fixed
* storywrapper import fixed
* fill property fixed
* background prop added
removed id field which is never populated
added help modal in applications page and intercom to load in help modal
shutdown intercom on signout to clear existing chats
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Radio group component with story implemented
* radio group implemented using native input and label.
* radio component height fixed in story
* disabled name in theme corrected for radio
* align prop removed
* Members and org settings page.
* Adding link back to applications
* Making UI look better.
* Fixing some more css
* Table dropdown onBlur, UI transparency, Popover issue fixed. Added sort arrow (#413)
* table dropdown ui issue and onblur click fixed
* position props value fixed
* tabs tripple click fixed
* Position props in table dropdown made optional
* tabs background color bug removed
* General settings page is bug free.
* Getting the manage users page to work.
* Moving general settings into its own file.
* Removing some unwanted URLs
* User cant change their role or remove themselves
* Changing onClick prop for Icon.
* Fixing tests
* Added loading states to text inputs.
* Added validators for text input
* Fixed border of skeleton for text input
* Adding a loader for Members screen
* Adding Noop to icon button
* Removing console.log
* Fixing imports.
* Moving org reducer to immer.
* Using utils email validator.
* Removing placeholder from text input props.
Co-authored-by: devrk96 <rohit.kumawat@primathon.in>
* menu component implemented and tabs selected ui bug fixed
* PR comments resolved
* icon import updated
* Menu item component (#437)
* Adding blank components.
* Adding Todo note for tree
* Adding todo note for LighteningMenu
* ads button component
* Adding storybook support.
* storybook integrated with button component
* ads button component props completed
* button component icon and loading logic implemented
* button component completed
* Added a text knob.
* Adding default text for button.
* Merging theme and other fixes.
* Fixed info button.
* Better types.
* Adding background param to components.
* Re-using vsariant for callount.
* Added props for Text input.
* Adding text component.
* feedback changes added in button and icon component
* type any removed in button component
* function naming corrected
* menu component implemented
* menu-item implemented with text, icon and label
* menu story updated with menu-items
* menu story updated
* storyWrapper added in all stories
* ads text removed
* spinner import updated
* relative import added
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
* Add action settings tab to api and query pane
- Ask for confirmation before running an action
* Update property of actions basedon the updateLayout response
Prevent confirmation dialog for Action run, until property of action is true
Send an API Request when the user toggles the property of an Action
* update http method to toggle executeOnLoad for an action to PUT
* Fix save layout response type
* Remove console.log
* If updating executeOnLoad, avoid calling update action API
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
* Switching to system fonts
* Fixed text alignment issue in text component.
* Changing font of ads components.
* Adding a font type
* Removing unused fonts
* Making fonts in theme an object.
* Removing unncessary font declerations
* Fixing storybook
* Reverting background remove
* Make sure default page is first in view mode
* Update query form on name change
* Add copy support for deploy link
* Show server error when timeout occurs on first load
* Fixes to data tree appsmith entities
* Add app mode `appsmith.mode`
* Add a common app data state for appsmith namespace entities
* Add autocomplete entries for btoa and atob
* Add urlString property in appsmith.url for full url
* Fix: modal widget closes when navigating to the widgets pane from explorer
* Fix: Align API input tab with the headers
Fix: align delete and run buttons to the right in queries pane
* Fix: while dragging, the cursor must be 'grabbing'
* Set new widget name in editing mode
* Fix: While property pane is open, changing the widget name in entity explorer does not update the name in the property pane
* Fix: The expanded entity property value popup should not have a label, as its function is only to show the full version of truncated data
* Feature: Edit datasource name from entity explorer
* Fix: Allow users to navigate from the placeholder text
* Fix: When moving or copying apis, navigate to the moved or copied api
* Adding blank components.
* Adding Todo note for tree
* Adding todo note for LighteningMenu
* ads button component
* Adding storybook support.
* storybook integrated with button component
* ads button component props completed
* button component icon and loading logic implemented
* button component completed
* Added a text knob.
* Adding default text for button.
* Merging theme and other fixes.
* Fixed info button.
* Better types.
* Adding background param to components.
* Re-using vsariant for callount.
* Added props for Text input.
* Adding text component.
* feedback changes added in button and icon component
* type any removed in button component
* Text component created with typography and story
* Fixing spinner issues
* Textinput component ads (#252)
* text input component with story is implemented
* Update README.md
* Fixing spinner issues
* Fixing hexToRGBA import
* story error fixed and text component commented for now
* props condition fixed and added error input story
* unused import removed
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
* story spacing added and component name fixed
* feedback changes implemented
* forward ref added
* feedback changes implemented
* text and textinput stories updated
* pr comments resolved
Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
* grouped data tree functions together in autocomplete
* Updated autocomplete styles
* Updated property pane styles to become more dense
* Fixed lightning menu styling
* fixed tests
* Fixed Cypress test
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Added information to setup domain
* Fixed incorrect var reference
* Updated documentation message
* Updated env template
* updated template
* removed debug echo
* Updated Script
* Updated Text
* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed
* Updated docker installation explanation
* added a question to skip custom domain if user is installing locally
* Inverted script question and
* Removed question to determine local installation
* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors
* updated styles for evaluated value
updated styles for auto complete
* added spaces to questions
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Fixed tabs widget bugs and other updates:
1. Moved drag icon to the left of tab name field in the tabs widget property pane
2. Change drag icon
3. Add scroll when the tabs occupy more width than the width of tabs widget.
4. Add selected tab name validation.
5. Hide overflow tabs.
6. Avoid vertical scrollbars in tabs widget header
* Query pane refactor and fixes
* Check if body exists
* Get pluginId from the datasource
* Move plugin image logic to selector
* Show info in new line on the datasource form page
* Update link text to Docs
* Handle string as run api response body
* Remove harcoded height
* Remove all references to ImageAlt except in selector
* Updata info text
* fix: error page and get applications API
* fix: apptoaster check for show variable instead of error code.
* fix: Update naming and combine currentOrgId and OrgDetails.
* Feat: Implement page not found UI
* fix: check user login status and minor code refactoring
- Check if user is logged in or not in page header.
- Based on login status show relevant CTAs
- Fix ESLint errors
- Move RoleNameCell and DeleteActionCell as seperate components.
* fix: Add catch all for pagenotfound
* fix: Use constants and update css syntax.
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
* Use envsubst and nginx templates to generate nginx configs which can substitute environment variables and inject into the index.html file
* Fix path in dockerfile. Add .gitignore and .env.example files. Fix nginx-linux template.
* Add all environment variables. Add prefix to all environment variables. Update scripts to attempt to substitute all environment variables with the prefix
* Setup dockerfile to execute a bash script. use env.example for fetching environment variables in development
* Toggle features based on injected configs. Fix nginx template substitution script.
* Update env.example file
* Remove debug code from start-nginx.sh
* Fix nginx config templates by adding quotes by default. Fix sed regex to include numerals. Toggle social login buttons on Login page based on the config.
* Update rapid api environment variable name. Toggle oauth buttons based on config in SignUp page. Update .env.example to be a union of server and client environment variables
* Adding a Map disabled message on Map widget
* Adding links to Privacy policy and TNC
* Use REACT_APP_ env variables with higher priority over injected config variables for toggling features
* Update netlify.toml by commenting out the build environment variables
* Remove env variables not required by the client
* Remove start-storybook entry from package.json
* Fix netlify.toml. Fallback algolia configs
* Add contexts to netlify.toml for successful deploys. Swith to using APPSMITH_MARKETPLACE_URL as the toggle for RapidAPI feature on the client. Remove comments in nginx config templates. Fix template used in dockerfile.
Co-authored-by: Satbir Singh <apple@apples-MacBook-Pro.local>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
- Increased timeout for move action
- Table header typescript fix
- Fix data tree selectors for better performance
- Debounce update action saga by 500 ms
- Query delete fix
- Query save fix
* New api and query has name in edit mode
* Curl import new api.
* Changing createApi command for new ui.
* Edit Api name is not visible in UI.
* Removed edit api name click.
Co-authored-by: Satbir Singh <satbir@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Satbir Singh <apple@apples-MacBook-Pro.local>
- Remove drafts from actions
- Direct update action from forms
- Debounced saving of actions
- Add org id in default datasource
- Merge query and api run saga
* Created header for common functionalities in Table Widget
* Client side searching added in Table Widget. Action created for server side searching also.
* added onSearch to getTriggerPropertyMap
* debouncing search fixed
* Client side search key made as case insensitive and property of table search value names as searchKey
* Removed unused function form SearchComponent
* Feature/table ui update column visibility (#14)
* Columns visibility feature initial commit
* Column visibility list added in Table Widget
* Colors used from constants
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
- Use manage:organizations permission to restrict users from managing apps
- Add loading indicators will changing role and deleting users
- Restrict user from deleting himself or changing his role.
Fix the chart widget crash issue
- Fix chart widget crash issue which was caused due to incorrect default values.
See merge request theappsmith/internal-tools-client!744
Fix/lightning menu
- Add lightning menu to assist users in binding
- Change the action selection display for consistency.
See merge request theappsmith/internal-tools-client!706
fixed body for url encoded form data
added defaults for dropdown and radio widget
added multipart type but hid it till we figure out logic
allowed number to be added to defaults of widgets
- Show path along with url in the api pane for embedded datasource
- Add store as datasource menu option for embedded datasource
- Allow users to type the path for global datasources
- Show the base url as a tag along with the path for global datasource.
Chart validations, Tabs add new tab issue fix
* Chart validation fixes
* Tab widget, adding new tab will display the same inside pane configurations
See merge request theappsmith/internal-tools-client!574
Back to editor button
- Show grid when starting to drag a widget on an empty canvas.
- Show placeholder on an empty canvas
- Add "Back to editor" button on appviewer's header
- Show empty page placeholder in app viewer.
See merge request theappsmith/internal-tools-client!589
- Prefill datasource title
- Decrease field width
- Save button should have loading state
- Back button in form screen
- Right align save button
- Add new plugin images
and other fixes
Page Name updates
- Remove use of `reselect` in `editorSelectors`.
- Rename action from UPDATE_CURRENT_PAGE to SWITCH_CURRENT_PAGE_ID.
- Update new page name in bread crumbs
See merge request theappsmith/internal-tools-client!503
- alignment of provider cards in api home screen fixes
- do not load the providers if already present
- fix 'Add to page' button moving on cliick in provider templates
- Prefill datasource title
- Decrease field width
- Save button should have loading state
- Back button in form screen
- Right align save button
- Add new plugin images
and other fixes
- avoid using any or undefined types in the code
- fix ui issues for api home screen
- update naming convensions
- remove unwanted code
- use color variables
Delete application after api response
- When user clicks on delete application -show toast
- When delete api response returns, remove toast as well as application card.
See merge request theappsmith/internal-tools-client!277
Create and Switch Organizations
- Users should be able to switch to any organization in the organization dropdown
- Users should be able to create an organization from the organization dropdown
See merge request theappsmith/internal-tools-client!272