* makeParentsDependOnChild - return if child doesn't exist in allKeys
* add unit tests
* add nested object to unit test
* fix unit tests
* fix unit tests
* add warning messages
* add comments for mock
* fix: 9824 Google Sheet to filter empty condition ver.2
* Code review comments updated
* Updates as per review comments - Ver 3
* Resolved errors found during testing
* Code review comments fix
Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
* shelf: start working on substitution for `ISODate`
* a draft for Sumit to check what I did wrong in my tests
* test: tests are working
* test: cleanup
* refactor: add replacementDataType parameter to DataTypeStringUtils.jsonSmartReplacementPlaceholderWithValue
* fix: remove quotes for Mongo Types work in single form, arrays and json.
* add handling for more use cases
add/update more TCs
* add comments
* add more comments
* add space (cosmetic change)
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
-- Make isDirty to a meta property, followed by code refactoring
-- Reset isDirty only if default value changes
-- Recursively check if the form has changes, even considering nested case
* Fixes modal pop up bugs on page load
* send confirmBeforeExecute attribute with page execution order info
(cherry picked from commit 6d3cfdfbdb83b435e67797f3fb27024799d5d579)
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
* <feat> Updated payload for formEvals
- Added datasource and plugin ID to the payload
* <feat> Added IDs to dispatch calls
- Added datasource and plugin IDs to the dispatch calls so they can be used for dynamic query fetch
* <feat> Added type in evaluation saga
- Added datasource ID and plugin ID in the expected type for the eval function
- Updated call type from GET to POST for the dynamic trigger URLs
* <feat> Made params compulsory for editor config
- Params are now compulsory for any config defined in editor JSON for the dynamic value fetching
* <feat> Updated API definition
- Update the definition for the axios function from GET to POST
* <feat> Added configProperty to payload
- Added configProperty to the payload to allow for distinction between different components making a call to the server
* <chroe> Added null check
- Added null check to function call for datasource and plugin IDs in API since they are not compulsory in the type
* <refactor> Remove unused imports
* Stopped props drilling of eval state
* Connect drop down to redux state
* Added extra check to formcontrol memo function
* Reduced modification of section at top
* Stopped mutating the initial state
* Created selector to get dynamic fetched values
* <refactor> Added comments and refactors
- Added key to the ES fragment
- Cleaned drop down component from redundant code
- Added comments
* <refactor> Removed test files
- Removed testing JSON configs
* <fix> Added null check for form eval output
- Added check to prevent null evalOutput in forms
* <chore> Removed console error
- Removed console error which is causing the vercel builds to fail
* Fix connect test
* check api response
* [wip] test comments across branches (#8704)
* Intercept only connect api
* chore: update switch branches tests (#9005)
* test switch branches from the query params
* test flow wip
* .
* fix merge status update
* change mergeAble to isMergeAble
* wip
* fix: show error popup if pulled from bottom bar
* fix: append branch query to notification links
* fix: disable git connection during onboarding
* fix: typo
* fix: typo
* fix: typo
* fix: z-index bottom bar cout
* fix: pull button minor fix
* fix: reset conflicts when the git sync modal is opened
* fix
* feat: enable search for branch dropdown
* fix
* fix: typo
* added merge conflicting on merge tab
* updated gitsyncsaga for git sync error action
* added generate ssh key on init and updated git changed count message
* removed git sync error action from error processing module(toast and log)
* commented push button on bottom git action bar temperory
* added option to use git global config
* Added latest deploy preview time: didn't appear until the duration was in minutes
* Link open repo button with repo link
* fixed of commented code part
* upated tooltip of push button on bottom quick git sync toolbar
* Update banner styles for error and warning
* updated repo publish url pattern and last deployed view part
* when the user clicks on the push icon the deploy tab should open
* when branch name is too big and user hover on it the tooltip is not displayed
* The dropdown alignment displayed for the git connect should be polished
* update tests
* fix: minor git sync fixes (#9228)
* fixed of Under the merge tab when the user searches for the branch name which is not present the pop up closes all of a sudden
* fix: update merge api, use message from api response
* fix: update field
* added tooltip of long dropdown option and updated merge tab dropdowns
* removed log
* chore: add connection cypress tests
* temp update for running tests locally
* fixed long branch name on branch list popup
* Use _ as the branch name separator, instead of -
* Use large buttons as CTAs
* Remove the % from the progress bar
* Fix alignment for the skeletons on the deploy tab
* Merge CTA moves down when the status is rendered, add offset to prevent that and error branch dropdown on merge tab
* Show progress bar after clicking on Merge CTA as the loading state and generate key button
* after generating the deploy key before clicking on connect close the pop-up and open it again the Remote URL is not visible in the input box
* fixing of conflicting issue
* updated git connection design
* Provide more spacing between the lines
* Learn more does not have a hover state
* Heading Merge Changes should be sentence cased like headings on other tabs
* Button can trigger CTA call when in loading state
* disabled clickable icon on git connect bottom bar
* Git connection tab: on error the window doesn't scroll all the way to the bottom
* updated temp remote url values on action and reducer
* updated ellipsis functions of text
* fix: prune branch flag
* fix: update page level roomId to include branch name
* fix
* fix
* feat: add a separate feature flag for git import
* feat: branch section headers bottom bar branch list
* fixed branch list comments
* fixed merge issue
* fix
* feat: hotkey for commit and push
* remove pull button on git conflict info
* move tempRemoteUrl redux to gitSyncreducer and added messages
* splited git error as individual action
* removed push button from git sync bottom buttons
* feat: section header at the merge dropdown
* added comment of converting ssh to https
* feat: show connected to git badge
* feat: show asterisk when we have uncommitted changes
* fix: upate segment header for dropdown
* t fix: remove redundant success toasts
* removed tempory git repo url from app data
* wrapped tooltip with elipsis text
* fix: rm unused vars
* fix: bottom bar icon updates
* updated dropdown option with ellipsis text
* added new props named "wrappedOption" on dropdown for wrapping ellipsis option
* rename wrappedOption to truncateOption on dropdown component
* updated dropdown option with disabled props of tooltip
* fix: remove remote branches from merge branch dropdown
* reset yarn lock
* reset yarn
* fix: keeping it same as the existing value
* fix: remove branch dropdown border
* fix: show merge success indicator
* feat: init repo limit error modal
* fix: disconnect git wip
* added git user config test
* removed test data
* fix: checkout api
* fix: lint
* chore: pre connection test specs
* added revoking git workflow
* renamed revoke to disconnectGit
* added setting on git sync action over bottom bar
* added analytic on git connection
* added learn more for remote url and init module of temp remote url when select new application
* .
* chore: test learn more ssh url
* Verify the functionality of Read documantation link
* added git connect with onboarding workflow
* Validate the Input Box displayed below Commit to master Text
* updated test module for deploy tab with commit comment and deploy preview
* test of prune branch name
* Validate the error faced when user switches between the branches
* verify the functionality when user click on "+" Icon
* Verify the functionality of serach input box inside the serach dropdown
* Verify the display of the Merge Button
* advanced of disconnect git ui
* added git disconnect modal test case
* updated repo limit error condition
* added learn more link test on git disconnect modal
* for review of repo limit error modal test script.
* fix: issue with intercept
* fixes
* fixes
* add key, misc fixes
* fix
* revert changes
* fix
* fix imports
* Fix import
* Yarn lock update
* fix
* fix imports
* chore: remove timeout for a test run
* Increase timeout for jgit APIs
* chore: try increasing timeout
* try increasing timeout further
* Handle git connect error on the basis of error type
* Add env variable to CI build script
* Fix bad commit for adding env var in workflow
* Refactor
* FAdd env var for local repo path
* fix import
* fix specs
* fix
* fix
* try
* fix
* fix
* fix
* fix
* fix: don't validate error msgs
* fix spec
* improve spec
* chore: rm unused code
* chore: update descriptions
* rm commented out code
* fix
* rm comment
* chore: rm comments
* fix: lint
* chore: update comment
* fix: wait for widget switch transition
* spec updates
* fix
* fix imports
* try waiting for getPagesForViewApp
* fix: rm unused file
* fix: remove spec
* fix: add js collection, comment out repo limit exceeded error since it seems not limited on appsmith instances
* Fix server failure
* chore: correct bootIntercom import and sort lines
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: haojin111 <haojin828@outlook.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
Added a new API that'll return a list of plugins which are available to install. In other words, it'll return list of default/system plugins. This returns the package name, name and icon only - which will be used by templates to show datasource name and icons.
* fix: content-type is empty when it's not specified.
* feat: try to guess the content type json or form-urlencoded
* fix: broken test for curl with `--data-urlencode` parameter
* fix: fix guessing urlEncodedPattern
* fix: fix broken tests
* fix: Fixed and improved the code formatting
-- Implement dirty check logic for a form
-- Expose an form property, hasChanges for checking if the user has changed any values in the form
-- Add isDirty derived property for the following widgets: AudioRecorderWidget, CameraWidget, CheckboxGroupWidget, CheckboxWidget, CurrencyInputWidget, DatePickerWidget2, FilePickerWidgetV2, InputWidgetV2, MultiSelectTreeWidget, MultiSelectWidgetV2, PhoneInputWidget, RadioGroupWidget, RichTextEditorWidget, SelectWidget, SingleSelectTreeWidget, SwitchGroupWidget, SwitchWidget
This PR adds API to save a customized theme so that it can be used again for that application. It also adds permission to themes. Each customized theme will have permissions set just like other domain objects.
This commit fixes post body type switcher in API editor. Prior to this PR,
switching the post body to Raw changes the content-type to "text/plain", This
fixes that by preserving the previous content-type when user switches to raw or
none body type. It also gives users the flexibility to use any non supported
content type, while in Raw body mode.
* fix: Select widget accept string and object
* fix: JSON object case
* Fix: make Multiselect Defaukt option Array of strings
* fix: Select and Multiselect
* fixes and test cases
* comments
* fix: Select option value
* fix: mutiselect and test case
* fix: failing test
* fix: reset select widget
* fix: PR issues
* fix: Select widget Reset
* fix: failing Test
* fix: test
* fix: tests
* FIX: EVALUATION TESTS
* fix: getting Select Value in form
* fix: Test cases
* fix: add more test cases
Co-authored-by: balajisoundar <balaji@appsmith.com>
* fix: Spaces are not allowed on widgets children names (tabs, menus, buttons etc.)
-- Set trimValue prop to false with property controls such as TabControl, MenuItemsControl, ButtonListControl, PrimaryColumnsControl
* fix: Spaces are not allowed on widgets children names (tabs, menus, buttons etc.)
-- Make trimValue property default to false
* Added boundaryParent prop to Propperto prevent table filter pane overflow.
* Review Changes, done.
* Resolved overflow issue with multiple pages.
* Removed hardcoded Top value while dragging.
* Added parentElement as a function parameter.
* fix: Issues and Enhancements in the camera widget
-- Fix on an image stretching issue when taking a picture
-- Set background to black
-- Add onImageSave, onVideoSave Actions
-- Rename Camera to Image
* fix: Issues and Enhancements in the camera widget
-- List all device info only when one or more MediaStreams are active
* fix: Issues and Enhancements in the camera widget
-- Always keep camera aspect ratio when resizing
* fix: Issues and Enhancements in the camera widget
-- Add a Cypress test case for onSaveImage property
* Increased wait!
* Camera case failure locator fix
* Camera case locator fix
* Promises restWidget moved to last!
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Remove optimizely, as it isn't being used anymore from the frontend codebase
* Remove optimizely references form netlify config, vercel config, index.html, docker script, nginx templates and example .env file
feat/ssh-key-regeneration - implementation
- moved copy icon inside the input box
- added regenerate ssh key function on git connection
- remove learn more and paste text from top
- introduce SSH Key label
- introduce ads/NotificationBanner
- update NotificationBanner integration
- jest tests
- system notification on key regeneration
- use @appsmith for constants/messages
- update imports
- remove optional chaining
Co-authored-by: haojin111 <haojin828@outlook.com>
* fix: if test datasource gets Unauthorized accessing admin database
It will try to access the default database.
* fix: fix broken test
* fix: cleanup unused imports
* test: make test more readable with better comments
* fix: 7794 Google Sheet Fails with Mixed Datatype
* resolved failing test cases after new implementation
* Added code comments to the changes
Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
The GET /application/new API is used to show list of organizations, applications in home page. The list of pages under each application contains only page id. As we're introducing page slugs in URLs, we need the slug of the default page inside the response of this API. This PR adds default page's slug to the response of GET /application/new API.
* WIP
* Refactoring HTTP Method & Content Type to be objects instead of arrays
TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request
* Almost working implementation for the None type
Currently, the body still gets sent in non-GET requests even if the None tab is selected.
* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM
* WIP: Using enum & const for ts autocomplete
* working implementation for NONE type, apiContentType prop added to API actions
* WIP
* Refactoring HTTP Method & Content Type to be objects instead of arrays
TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request
* Almost working implementation for the None type
Currently, the body still gets sent in non-GET requests even if the None tab is selected.
* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM
* WIP: Using enum & const for ts autocomplete
* working implementation for NONE type, apiContentType prop added to API actions
* adds apiContentType to actionConfiguration.formData object
* Handling apiContentType property in Rest API formData
* change apiContentType when user types content-type value and switches http method
* makes api editor as similar as possible to postman, project postman.
* Correcting the import in ApiEditorConstants
* Resolved all merge conflicts
* replay DSL functtionality
* removes unneccessary files from worker
* Fixes type declarations, naming e.t.c.
* fix server side merge conflicts
* fix client side merge conflicts
* fix failing cypress tests
Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
* This PR removes the Expiry Duration field from the Read file command of S3 plugin.
* An Expiry Duration field got added to Read file command mistakenly some time post migration to UQI schema. This field did not exist with the read command before the migration and does not get used even now.
* Add a new command Delete multiple files. This command will allow users to delete many files at once. Currently, only one file can be deleted at a time. It takes an array of files as config parameter from the user e.g. ["file1", "file2"]
* Add template for the new command.
* Add template for the command Create multiple files
* refactor admin settings feature
* separated save-restart bar to separate component
* created new CE dir to facilitate code split
* created separate ee dir and exporting everything we have in ce file.
* little mod
* minor fix
* splitting settings types config
* using object literals for category types instead of enums
* CE: support use of component for each category
* minor style fix
* authentication page UI changes implemented
* github signup doc url added back
* removed comments
* routing updates
* made subcategories listing in left pane optional
* added muted saml to auth listing
* added breadcrumbs and enabled button
* created separate component for auth page and auth config
* added callout and disconnect components
* updated breadcrumbs component
* minor updates to common components
* updated warning callout and added icon
* ce: test cases fixed
* updated test file name
* warning banner callout added on auth page
* updated callout banner for form login
* CE: Split config files
* CE: moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* Small fixes to styling
* ce: splitting forms constants
* breadcrumbs implemented for all pages in admin settings
* Settings breadcrumbs separated
* splitted settings breadcrumbs between ce and ee
* renamed default import
* minor style fix
* added login form config.
* updated login/signup pages to use form login disabled config
* removed common functionality outside
* implemented breadcrumb component from scratch without using blueprint
* removed unwanted code
* Small style update
* updated breadcrumb categories file name and breadcrumb icon
* added cypress tests for admin settings auth page
* added comments
* update locator for upgrade button
* added link for intercom on upgrade button
* removed unnecessary file
* minor style fix
* style fix for auth option cards
* split messages constant
* fixed imports for message constants splitting.
* added message constants
* updated unit test cases
* fixed messages import in cypress index
* fixed messages import again, cypress fails to read re-exported objs.
* added OIDC auth method on authentication page
* updated import statements from ee to @appsmith
* removed dead code
* updated read more link UI
* PR comments fixes
* some UI fixes
* used color and fonts from theme
* fixed some imports
* fixed some imports
* removed warning imports
* updated OIDC logo and auth method desc copies
* css changes
* css changes
* css changes
* updated cypress test for breadcrumb
* moved callout component to ads as calloutv2
* UI changes for form fields
* updated css for spacing between form fields
* added sub-text on auth pages
* added active class for breadcrumb item
* added config for disable signup toggle and fixed UI issues of restart banner
* fixed admin settings page bugs
* assigned true as default state for signup
* fixed messages import statements
* updated code for PR comments related suggestions
* reverted file path change in cypress support
* updated cypress test
* updated cypress test
* css changes for admin settings page and breadcrumb removal
Co-authored-by: Pranav Kanade <pranav@appsmith.com>
* refactor admin settings feature
* separated save-restart bar to separate component
* created new CE dir to facilitate code split
* created separate ee dir and exporting everything we have in ce file.
* little mod
* minor fix
* splitting settings types config
* using object literals for category types instead of enums
* CE: support use of component for each category
* minor style fix
* authentication page UI changes implemented
* github signup doc url added back
* removed comments
* routing updates
* made subcategories listing in left pane optional
* added muted saml to auth listing
* added breadcrumbs and enabled button
* created separate component for auth page and auth config
* added callout and disconnect components
* updated breadcrumbs component
* minor updates to common components
* updated warning callout and added icon
* ce: test cases fixed
* updated test file name
* warning banner callout added on auth page
* updated callout banner for form login
* CE: Split config files
* CE: moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* Small fixes to styling
* ce: splitting forms constants
* breadcrumbs implemented for all pages in admin settings
* Settings breadcrumbs separated
* splitted settings breadcrumbs between ce and ee
* renamed default import
* minor style fix
* added login form config.
* updated login/signup pages to use form login disabled config
* removed common functionality outside
* implemented breadcrumb component from scratch without using blueprint
* removed unwanted code
* Small style update
* updated breadcrumb categories file name and breadcrumb icon
* added cypress tests for admin settings auth page
* added comments
* update locator for upgrade button
* added link for intercom on upgrade button
* removed unnecessary file
* minor style fix
* style fix for auth option cards
* split messages constant
* fixed imports for message constants splitting.
* added message constants
* updated unit test cases
* fixed messages import in cypress index
* fixed messages import again, cypress fails to read re-exported objs.
* added OIDC auth method on authentication page
* updated import statements from ee to @appsmith
* removed dead code
* updated read more link UI
* PR comments fixes
* some UI fixes
* used color and fonts from theme
* fixed some imports
* fixed some imports
* removed warning imports
* updated OIDC logo and auth method desc copies
* css changes
* css changes
* css changes
* updated cypress test for breadcrumb
* moved callout component to ads as calloutv2
* UI changes for form fields
* updated css for spacing between form fields
* added sub-text on auth pages
* added active class for breadcrumb item
* added config for disable signup toggle and fixed UI issues of restart banner
* fixed admin settings page bugs
* assigned true as default state for signup
* fixed messages import statements
* updated code for PR comments related suggestions
* reverted file path change in cypress support
* updated cypress test
* updated cypress test
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
* fixes apiEditor url overflow, indicates active datasource in datasources list
* Adds custom tooltip to datasource url, and optimizes the performance of ApiEditor form
* hide the custom tooltip whenever there is a default datasource config on the page
* Making the implementation more reusable
* fix failing cypress tests and increase delay for tooltip
* A better implementation and also making the logic more reusable
* remove comments
* Fix prettier issues due to merge with release
- When the user removes an expression from the validation property of
input widget, its value becomes `""`. And in boolean validation
function we treat this empty string as false. so Input widget
ends up with isValid false and we show an error border around the
Input. so we are setting a default value true, so when there is
no expression it evaluates to true.
* Code cleanup and fix typos
* Increase the wait time after app import
Increase the wait time after app import for the categories to load
Co-authored-by: Satish Gandham <satish@appsmith.com>
* feat: added datasource icon on left of entity name, revamped name editor
* fix: updated the hardcoded message strings to use message.ts
* fix: types of variables
* fix: Map pin does not center when location is changed and centering option is turned on
-- Update center meta property when defaultMarkers or mapCenter properties were changed
* fix: Map pin does not center when location is changed and centering option is turned on
-- Force the last marker to be centered
* Fixed issue with Firestore in fetching data while using numbers in the where condition.
* Other Fixes made in the where condition :
When using Boolean
When using Date
When Using Timestamp
When given space in the key
When Space given in the Value
* Revert "fix: revert this.params solution (#10322)"
This reverts commit 2bcd73e41d.
* replace 'this.params' with 'executionParams'
* replace 'this?.params' also with 'executionParams'
* fix unit test lint errors
* added unit tests for params handling
* evaluateActionBindings unit test - add default value case
* comments update
* remove un-necessary `executionparams` assigment to `evalTree`
* Delete the pages post merge operation from application if they are removed from file system
* Changes per review
* Add tests
* changes per review
* Use string utils for null check
* Change per review
* Fix tests
* Fix tcs
* fix: added sentry exception for invalid DynamicBindingListPath
* refactor: updated the error message
* test: update unit test case for dynamic binding path error
* fix: addressed review comments
* fix: removed widgetFactory and propertyPane code for invalidDynamicBindingPath function
- Paths in dynamicBindingPathList and dynamicTriggerPathList which don't exist in the widget, may cause issues later in the lifecycle of an application. Purging these orphaned paths during property updates.
* Rearrange data tree widget factory
* Remove existing handling of default value override
* Altternate way of meta property override
* Fix tests
Co-authored-by: hetunandu <hetu@appsmith.com>
* Added API to generate deploy keys and store them in a collection for import flow
* Add tests for the key generation flow
* Move the key generation to helper class
* changes per review
* Fix bad merge
* add api to import application
* handle timeout for git import
* Update the comments
* Add API for git import
* handle duplicate application name error & add profiles while importing
* Add tests for import api
* Hydrate from file system after cloning the repo
* Fix test failures
* Test cases
* changes per review
* throw error when the datasource with same name of different type exists
* Fix test failures
* Fis error messages
* Fix test failures
* Fix issue with checking the datasource types
* Add datasource name check while importing the application
* Refactor SSH key gen code for import
* Resolve issues around defaultResourceIds, don't commit app name
* Resolve the issue related to duplicate name for app during import
* Minor fixes
* WIP
* Add logic to get unconfigured datasources for the application
* Fix tests
* WIP
* revert datasource related changes
* Add a boolean flag to Datasource entity
* Add a boolean flag to Datasource entity
* Add flag to identify import status
* Set application name before importing from json files in git-import
* update the variable name
* changes per review
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
* Add logic to sync the repo if the path is not updated in env file
* changes per review
* checkout branch locally when the branch is not present in remote
* Add the local checked out branch to list
* fix: changed validation to FUNCTION for the default selected value RadioGroupWidget
* refactor: changed evalued struct msg for radio group default value
* test: added cypress test for checking radiogroup widget with integer value
* test: added jest test to validate the defaultValidation function for radio widget
* refactor: changed the test case title
* chore: updated yarn.lock file
* refactor: addressed the review comments
* refactor: added comment for defaultOptionValidation
* refactor: changed the expected example [QA comment]
* fix: added validationOperationType prop
* Revert "fix: added validationOperationType prop"
This reverts commit 896226fe940621c2c71aa8a9e87831039a9655de.
* fix: added custom validation for the options property
* fix: modififed the custom validation logic
* refactor: modified the cypress test
* refactor: addressed review comments
* refactor: addressed review comments
* refactor: addressed review comments; Updated custom validation for DSV; Update cypress
* refactor: added boolean check for the default selected value
* refactor: addressed review comments
* test: fixed jest test case
When an user signs up, we store the email in lower case. When user logins with oauth2, we fetch user by email ignoring case. This creates a problem if email from oauth is in upper case. As users are registered with lowercase and we're trying to fetch with upper, users are not found.
This PR fetches user by case insensitive emails during oauth login.
* fix: changed cap default to fix ux issue on js toggle
* fix: hard check on capSide hide
* fix: always show capSide if dynamic capType
* docs: label, help text update
* fix: remove hidden condition
* fix: table column name migration update
* test: added test case for migration
* fix: migration version update
* fix: update latest version logic
* fix: cypress updated
* fix: updated test case
* fix: delay added
* fix: test case update
* fix/ one more custom column added
* fixes js object cloning issue
* fix10463- JSObject returning new name of cloned object
Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
* Fix clone JSObject issue where cloned JSObject gets attached to both parent and cloned page
* Race condition for delete action when trying to delete page with JSObject
* Set published collection to null during fork application
* initial implementation, still WIP
* Cleaning up implementation
* added types for evaluation errors and error handling
* remove unneccessary console.log
* better naming for variables
* add unique identifier for error text
* add unique identifier for error text message
* Added new files for entity selector component
* Add error handling to data fetched via API
* Added init eval for schemas in entity selector
* Extracting conditionalOutput for schema from state and passing it to individual schema
* Removed unnecessary loop
* Fixed CSS of ES, added new Icon
* Minor refactor
* fix: When all the rows are hidden the user must not be displayed with number of records or pages in the Deploy mode
-- Make header options JS convertible
* fix: When all the rows are hidden the user must not be displayed with number of records or pages in the Deploy mode
-- Fix a broken test case accordingly
* resize n reflow rough cut
* removing warnings
* relatively stable changes
* minor bug fix
* reflow relative collision
* working dp cut
* fix for reflow of widgets closer next to each other
* disabling scroll
* Drag with reflow
* reflow fix
* overlap and retracing fix
* On Drop updates.
* bug when no displacement but resize update.
* temp fix for new widget addition.
* reflow bug fixes
* new widget addition bug.
* stop reflow on leave.
* fix corner case overlap
* update bottom row when reflowed widgets go beyond bottom boundary.
* capture mouse positions on enter
* enable container jumps with faster mouse movements.
* reflow only for snap changes.
* restructured reflow Algorithm
* collision check and bug fixes
* undo redo fix for new widget drop
* resizable fix snapRows fix
* directional stability
* self collision fix
* first round of perf fixes
* update bottom row while resizing and resize-reflowing
* performance fix and overlapping fix
* Remove eslint warning
* remove eslint warning
* eslint warning
* can reflowed Drop Indication Stability
* container jumps and force direction on entering canvas
* fixing scroll on resize jitters.
* reflow when jumping into container.
* reflow ux fixes while leaving container
* resizing fixes.
* fixes for edge move.
* restrict container jumps into reflowed containers.
* container jump direction reflow
* checkbox dimensions fix.
* Excess bottom rows not lost post dragging or resizing widgets.
* fixing the after drop css glitch.
* double first move trigger bug fix.
* stop reflow only if reflowing
* stabilize container exit directions
* using acceleration and speed instead of movement covered to restrict reflow.
* fixing modal drops.
* remove warnings.
* reflow resize styles
* moving acceleration and movement logic to a monitoring effect.
* adding beta flag for reflow.
* fixing jest tests
* Adding analytics to beta flag toggle.
* Adding placeholder for reflow beta screens.
* fixing initial load's screen
* few more crashes.
* force close onboarding for the session.
* fixing bugs in reset canvas.
* Beta flag bug fixes.
* fixing bugs.
* restrict reflow screens during onboarding.
* disabling reflow screens in tests.
* code review comments.
* fixing store based specs.
* fixing cypress failures.
* fixing specs.
* code cleanup
* reverting yarn lock changes
* removing onboarding screens.
* more cleanup and function descriptors
* keeping reflow under the hood.
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
We've added slug for pages. Each page has a slug which is generated from name automatically. In our get pages API /api/v1/pages/application/<app_id>, the slug names were not included in the Page DTO. This PR adds slug name in this API response.
* Added new condition type
* Added new variables to cater to enable/disable conditionals
* Adding functionality to disable the drop down control
* Added ability to enable/disable to dynamic input text fields
* Updated input text control to have enabled/disabled feature
* Added enable/disable functionality to FixedKeyInputControl
* Added enable/disable func to switch control and stanrdasied var name
* Added disable functionality for file picker
* Added enable/disable functionality to QUER_DYNAMIC_TEXT
* Added new state and object for evaluating conditionals
* Connected the output to the final source
* Updating loading state on the final component
* Tied fetched data to the options of dropdown component
* Added declaration to make API call
* Added loading state for dropdown
* Updated types in reducer
* Added implementation to extract API calls from the response and setting the output
* Removed extra variables
* Moved all calculation logic to the class component
* Refactors and added comments
* Added flag to store when the value fetch fails
* Reduced usage of spread operators
* Add `getStructure` implementation for S3 to return a list of accessible buckets.
* Add command templates for S3.
- List files
- Read file
- Create file
- Delete file
* Remove getDatasourceMetadata implementation as getStructure method can be directly used now.
* move away from RSA-SHA1 to ECDSA-SHA2 protocol for key generation
* Add migration to regenerate SSH keys via new protocol
* use 256 bit signature for the keys
* remove unused imports
* Fix error message for key generation
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Add scroll navigation control
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Divide tabs navigator control into both sides of contents
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Implement navigation per slide
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Refactor on useEffect dependencies and some calculations
-- Introduce if-else statement for readability and consistency
* feat: Tab widget should have navigation arrows when the tabs don't fit
-- Add class names for scroll navigation controls
-- Narrow the width of Tab widget in dsl
-- Add a Cypress test case for checking the presence of scroll navigation controls
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* This PR fixes the page load action execution order when the actions have been set to run on page load explicitly via the settings tab by the user and its data has not been referenced in any other widget or action. e.g.
- create action1 and action2.
- make action2 dependent on action1 by adding {{action1.data}} in action2's body.
- set both action1 and action2 to run on page load via settings tab. Do not reference action1 and action2 data in any other widget or action.
* feat: Checkbox group should have a select all option
-- Add a new property, isSelectAll
-- Implement its functionality
* feat: Checkbox group should have a select all option
-- Set height to auto for select all control
-- Move isInline and isSelectAll properties below isDisabled
-- Set color for options to GREY_9 and GREY_10
-- Add Cypress test cases for handleSelectAllChange
* feat: Checkbox group should have a select all option
-- Fix on misalignment of select all control if isInline is true
-- Refactor the cypress test cases which is affected by adding select all control
* feat: Checkbox group should have a select all option
-- Set white-space to nowrap
* feat: Checkbox group widget should have a select all option
-- Change helpText for isSelectAll property
* feat: Checkbox group should have a select all option
-- Fix on broken test cases for the select all option
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* This PR adds a limit field which sets the batchSize for aggregate command. This way the user can set the number of documents they want in their Mongo query result.
* limit is set to 10 initially. However, for pre-existing Mongo actions, migration has been added to set this field to 101 - which is the default value that has been used by Mongodb in the absence of any user set value. Ref: https://docs.mongodb.com/manual/tutorial/iterate-a-cursor/
Order of execution was not proper because the dynamic parameters embedded inside url without any trailing slashes and query params did not match with url grouping regex to convert the query params to dsl params.
Fixes#10049Fixes#10055
* FEATURE-6314 : Map Chart Widget
-- Scaffold the widget
* FEATURE-6314 : Map Chart Widget
-- Add a new widget icon
-- Proptotype the property pane for the first time
* FEATURE-6314 : Map Chart Widget
-- Install fusionmaps
-- Draw naive world map for the PoC
* FEATURE-6314 : Map Chart Widget
-- Integrate the limited number of FusionMaps into the widget
-- Bind basic properties and a action into the map
* FEATURE-6314 : Map Chart Widget
-- Comment out the console statements for linting error
* FEATURE-6314 : Map Chart Widget
-- Update dependency versioning
* feat: Map Chart Widget
-- Fix on linting errors, including unused variables, console statement
* Feat: Map Chart Widget
-- Install dependencies from scratch
* fix: increased max chink size allowed in the build config
* Feat: Map Chart Widget
-- Refactor code base according to the changed widget structure
-- Add cleanup for removing event listener
-- Eliminate the unnecessary codes, comments
* Feat: Map Chart Widget
-- Remove unnecessary icon
-- Refactor on constants
* Feat: Map Chart Widget
-- Add a cypress test case for map type changes
-- Add a cypress test case for title change
-- Add a cypress test case for toggling show labels
-- Add a cypress test case for onEntityClick event listener
* feat: Map Chart Widget
-- Scaffold the setup for custom map config
* feat: Map Chart Widget
-- Dynamically import map definition files
* feat: Map Chart Widget
-- Eliminate unnecessary comments
* feat: Fusion Maps Widget
-- Update base dependencies
* partial map chart changes.
* feat: Map Chart Widget
-- Refactor entire code base, removing custom configs
-- Disable prefetching on mapCharts chunk
* feat: Map Chart Widget
-- Comment onEntityClick test case out
* feat: Map Chart Widget
-- Fix on onEntityClick test case
* feat: Map Chart Widget
-- Change the widget icon
-- Rename onEnityClick to onDataPointClick
-- Expose selectedDataPoint
-- Add a new Cypress test case for the toast message on onDataPointClick
* feat: Map Chart Widget
-- Add a new property colorRange
-- Add default values for data and colorRange properties
-- Eliminate unnecessary constant colorRange
* feat: Map Chart Widget
-- update selectedDataPoint meta property unconditionally
* feat: Map Chart Widget
-- Update initial map type config to be consistent with the corresponding property
* feat: Map Chart Widget
-- Add widget icon for entity explorer
* feat: Map Chart Widget
-- Make array elements of data, colorRange properties unique
* feat: Map Chart Widget
-- Prevent re-render when disabling color codes and double-clicking on entities
* feat: Map Chart Widget
-- Declare defaultChartConfigs variable inside component class
-- Replace deprecated substr method with substring
* feat: Map Chart widget
-- Complement validation rules for data property
* feat: Map Chart widget
-- Define rows and cols without using GRID_DENSITY_MIGRATION_V1
-- Change updateDataSet hook by replacing switch statement with object mapping
* feat: Map Chart widget
-- Pull out dataSetMapping from the updateDataSet hook
* feat: Map Chart widget
-- Force click events with regard to onDataPointClick test cases
* feat: Map Chart widget
-- Update fusioncharts and fusionmaps npm packages to the latest version
* feat: Map Chart widget
-- Make contents responsive using CSS styles instead of directly changing width, height attributes of the chart
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* added config to support code split
* splitting config
* moved the window declaration in EE file as its dependency will be updated in EE
* CE: Splitting ApiConstants and SocialLogin constants
* CE: split login page
* CE: moved getSocialLoginButtonProps func to EE file as it's dependencies will be updated in EE
* added key icon
* CE: created a factory class to share social auths list
* Minor style fix for social btns
* Updated the third party auth styles
* updated jest config
* updated third party login registry class
* Added new condition type
* Added new variables to cater to enable/disable conditionals
* Adding functionality to disable the drop down control
* Added ability to enable/disable to dynamic input text fields
* Updated input text control to have enabled/disabled feature
* Added enable/disable functionality to FixedKeyInputControl
* Added enable/disable func to switch control and stanrdasied var name
* Added disable functionality for file picker
* Added enable/disable functionality to QUER_DYNAMIC_TEXT
* Added Mono sink calls for git and import application APIs
* TC for import-export
* Update TCs for gitService
* Added git commit and create branch test
* Test added for midway cancellation flow
* Registering new eval types
* Moving code from saga to thread execution
* Added a loading state while thread is working
* Added types and comments
* Code refactor for final render
* Added custom spinner
* Instead of spawning a new thread, working on the same one
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* fix: added min width to wrap long page names
* fix: adjusted the width on editing for contextMenu
* style: moved the editing style in the contextMenu
* refactor: added custom classes
* Connect drop down control to redux state to fetch options dynamically when needed
* Moved whole selection logic to mapStateToProps
* Removing unused imports
* Added API to generate deploy keys and store them in a collection for import flow
* Add tests for the key generation flow
* Move the key generation to helper class
* changes per review
* changes per review
* Sorting component implementation with testing templates to be removed.
* add dsls implementation
* fixes delete item function, removes test cases
* removes test and unwanted files, adds enum to sorting control
* updated the form control from dropdown to dynamic text
Co-authored-by: Aman Agarwal <aman@appsmith.com>
* feat: support iframe.srcdoc in iframe widget
-- Add a new property srcDoc and its change handler
-- Rename handlers
* feat: Support iframe.srcdoc in iframe widget
-- Show error messages only if there are no both of URL and inline HTML
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
- Run all files in the tests folder in sequence
- Better error handling and saving of screenshots
- Organise and refactor code. WIP
- Improve the summary generator
- Add utility method to import an app
- Add a basic performance test on imported app
Co-authored-by: Satish Gandham <satish@appsmith.com>
* feat: #4141 added truncate support into text widget
* fix: updated truncate show logic, cypress added
* fix: updated ellipsis position
Co-authored-by: bhavin <techbhavin@gmail.com>
* Error handling for git limit
* clear cahe of git limit on connect api
* update per review
* check the repo is public before checking for the limit
* changes per review
* check if the repo is public or private during connect flow
* fix issues with sync branches
* Add sucess error handler
* changes per review
* add missing return statement
* remove unused import statements
* Change recaptcha key and type and add suggestion for recaptchatoken
* Add recaptchaToken property as target for auto completion cypress tests
* Added cypress test to validate recaptcha v2 can be selected in button widget property pane
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* fix:9648 Mongo update All issue-In Progress
* fix: Mongo Multi update query fail fixes
* Added updated testcases that got affected by the code change
* Changes reverted as per review comments
- Checkbox group widget
- MultiSelecttree widget
- Multiselect widget
- dropdown widget
- radio group widget
- single select tree
- switch group widget
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Add comments for utilities formatCurrencyNumber and limitDecimalValue
* Fix currency number formating and add unit tests
* Fix Input currency type cypress test
* Fix Input currency type cypress test
* Add comments for utilities formatCurrencyNumber and limitDecimalValue
* Fix upstep and downstep button action for formated currency input
* remove crendentials from cypress.json
* Fix input currency test flakiness
* Fix cypress test for currency input type
Fix formatCurrencyNumber function and added more unit tests
* Fix cypress test for currency input
Handle group separator and decimal separator when formatting and deformatting input for currency type
* remove console.log
* Handle formatting changes for default text
* Format input widget value for currency to handle default text
* remove unused import
* Add unit tests for getGroupSeparator and getDecimalSeparator functions
* add function to get user locale
* use preventDefault in input increment/decrement button click
* Use getLocale function, use String function
* use Number function for type conversion
* fix number to string type
* Handle 0 value for numbers
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* disable submit button when date is out of bounds
* Remove comment from derived.js function as comments are not allowed for parsing
* Fix table client side search cypress test
* validate date again min/max irrespective of isRequired property
* feat: Camera Widget
-- Scaffold the basic structure of the widget
* feat: Camera Widget
-- Prototype a feature, taking picture
* feat: Camera Widget
-- Add types for MediaRecorder
-- Define media capture status and action types
-- Prototype basic video recording, playing features
* feat: Camera Widget
-- Implement video player
-- Add timer for recording and playing video
-- Add permission and error handling logic
-- Add device selectors
* feat: Camera Widget
-- Place control buttons above device inputs layer
-- Make the widget fully responsive
* feat: Camera Widget
-- Change the color of caret-down icon to white
-- Remove overlaying of web cam and video player
-- Add some padding for device inputs
* feat: Camera Widget
-- Add black background to the container of the widget
* feat: Camera Widget
-- Change the widget icon
* feat: Camera Widget
-- Implement the mute feature of a mic or a camera
* feat: Camera Widget
-- Check media device permissions before getting started
* feat: Camera Widget
-- Add a fullscreen control
* feat: Camera Widget
-- Set error text color to white
-- Change the layout of control panel
* feat: Camera Widget
-- Apply layout change for control panel according to app layout change
* feat: Camera Widget
-- Add a new derived property, videoURL
* feat: Switch Group Widget
-- Adopt theme changes
* feat: Camera Widget
-- Make background grey in case of both error and disabled status
* feat: Camera Widget
-- Update npm dependencies
* feat: Camera Widget
-- Fix on #8788, using muted property
* feat: Camera Widget
-- Show off the microphone setting icon only if the current mode is video
-- Set isMirrored property to true by default
* feat: Camera Widget
-- Add photo viewer
* feat: Camera Widget
-- Add onImageCapture, onRecordingStart, onRecordingStop actions instead of onMediaCapture
* feat: Camera Widget
-- Expose meta properties for the widget
* feat: Camera Widget
-- Fix on responsiveness issue
* feat: Camera Widget
-- Add type definitions for MediaStream recording
* feat: Camera Widget
-- Hide isMirroed property for video mode
* feat: Camera Widget
-- Wrap all the controls with TooltipComponent
* feat: Camera Widget
-- Implement enter, exit full screen feature
* feat: Camera Widget
-- Add a widget icon for entity explorer
* feat: Camera Widget
-- Fix on the typo for the label of onRecordingStop property
* feat: Camera Widget
-- Enable/disable media tracks
* feat: Camera Widget
-- Set the video's height to 100% in fullscreen mode
* feat: Camera Widget
-- Add overlayers on Webcam
* feat: Camera Widget
-- Set position to relative on fullscreen wrapper div
-- Set the photo viewer's height to 100%
* feat: Camera Widget
-- Add image, mediaCaptureStatus, timer meta properties to keep UI states when the widget is dragged
* feat: Camera Widget
-- Refactor code base, eliminating commented code blocks
* feat: Camera Widget
-- Revert all the changes needed for keeping status when the widget is dragged
-- Set mirroed property to false for video mode
* fix(run-hot-key): added update init action with debounced on change function
* fix(run-hot-key): Adding new action for updating store for isSaving query true
* fix(run-hot-key): updating the action name to preparing_update_action
* fix(run-hot-key): added descriptive comments
* fix(run-hot-key): updated the action name and moved condition to action file
* fix(run-hot-key): updated the action to entity started at global app
* fix(run-hot-key): added entity saving status to show loader
* fix(run-hot-key): fixed cypress test to type in the query rather using set method of code editor
* Adding visual tests for layout validation
* updating screenshot to match CI's screenshot resolution
* updating screenshot as per CI
* setting failure threshold for the image comparision
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
* fix: Table widget's filter pop-up does not collapse on opening a modal
-- Dispatch an action for closing the table filter pane when a modal is opened
* fix: Table widget's filter pop-up does not collapse on opening a modal
-- Add the Cypress test case
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Added tests for renaming entities through the entity explorer
* changes made to deletePageFromSideBar function
* adds custom made test cases config
* test cases should be within smoke test suite
* return configuration to run full test suite
* Fix: Audio recorder widget styling property needs to be categorized under Styles not General
-- Group style related properties
* Fix: Audio recorder widget styling property needs to be categorized under Styles not General
-- Move styles section to the bottom of the layout
* add another migration for those Firestore actions that could not be migrated.
* handle ClassCastException via try catch and assigning default empty value.
* Error handling for git limit
* clear cahe of git limit on connect api
* update per review
* check the repo is public before checking for the limit
* changes per review
* check if the repo is public or private during connect flow
- fix Mongo plugin's smart substitution feature to handle quotes around ObjectId in array. e.g. Initial replacement value: ["ObjectId(xyz)"] , final replacement value: [ObjectId(xyz)]
- unrelated: added version number to lombok dependency to stop build failures in IntelliJ.
Netlify builds are failing because of seemingly memory constraints. Also they are taking twice as long as Vercel.
This is an experiment to see if we can switch to Vercel for our deploy preview needs.
* fix: corrected Index cond. for conditional formatting in table widget
* test: added integration test for checking condtional formating post sorting
* refactor: enhanced the originalIndex condition with nullish coalescing op
* feat:9389 Add support to send arbitrary form values to oAuth server during Datasource authentication
* Changes related to Code Review Comments of PR 9650
* Changes implemented to set custom Key Value pairs
* Resolved Code Review comments
* Resolved Code Review comments
We should last updated date of an application in the home page. If an application was updated internally e.g. a new user was added to the application, the updated date was set and it was displayed in the home page. This PR fixes that problem.
* Added check for private repos
* WIP limit repos
* Get the git connected apps from git
* Call CS to get the limit for the git connected apps
* Update comment
* Changes per review
* Add check for limiting the repo
* Cache the results from cloud service
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
* Added appsmith profile as a fallback value
* Modified TC for userData to include git profile TCs
* Added check for null value when user want to use repo level profile and provide empty author name or email
* Refactor method names
* fix/8924-Bulk Insert throwing error on empty data in google sheets new1
* fix/8924 Error in bulk insert empty data
* fix/8924 Code review fix for Google Sheet Bulk insert error
* fix/8924 Code review fix for Google Sheet Bulk insert error
* Fixed code review comments
* Methodconfig data changes since only empty Mono is being tested
* FIX-6783 : Checkbox group widget - Feedback
-- Add default border for a checkbox icon and color for a label
-- Align the option to the center if its options count is one or inline
-- Set isInline to true by default in widget config
* FIX-6783 : Checkbox Group Widget Feedback
-- Add a migration for isInline property
* Feat: Checkbox Groupd Widget Feedback
-- Add vertical margin between options
* Fix: Checkbox Group Widget
-- Increase default rows value to 1.5 in widget configuration
* Fix: Checkbox Group Widget
-- Change the migration version number
* Fix: Checkbox Group Widget
-- Change migration version number
* Fix: Checkbox Groupd Widget Feedback
-- Delete redundant WidgetConfigResponse file
* Fix: Checkbox Group Widget Feedback
-- Change the config values of rows, columns
-- Refactor migration file
* Fix: Checkbox Group Widget
-- Refactor migration file
* fix: Checkbox Group Widget Feedback
-- Fix on the wrong dsl version
* fix: Checkbox Group Widget Feedback
-- Remove a unnecessary comment
-- Update the version of the widget in its config and migration
* fix: checkbox group feedback
-- Rewrite a migration for isInline property
* fix: checkbox group feedback
-- Follow the figma design on disabled state
* fix: Checkbox Group Widget feedback
-- Apply appropriate migration
* fix: Checkbox group widget - Feedback
-- Apply theme changes
* fix: Checkbox Group Widget - Feedback
-- Change the border color of an unchecked checkbox to DARK_GRAY
* fix: Checkbox Group Widget - Feedback
-- Remove inset box shadow from the checkbox indicators
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Fixes inability to use duplicate names across multiple actions in different pages
* adds comments for better understanding and readability
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* adds option to assign query params in datasource and see those params in apieditor
* fix flaky cypress tests
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Port Firestore plugin to UQI schema
* This PR implements a non-functional requirement i.e. from an end user perspective there is no change in the features that the plugin provides. However, the underlying DSL to render and interpret the query interface has been updated.
* It also involves a migration change to port existing Firestore plugin actions to the new UQI schema.
* Server comes up
* Instead of extracting ee, we extract the ce to get the mongo repo to work
* ActionRepo migrated
* ApiTemplateRepo migrated
* Application repo migrated
* Asset Repo migrated
* Collection repo migrated
* Comment repo migrated
* Comment thread repo migrated
* Config repo migrated
* datasource repo migrated
* group repo migrated
* Invite user repo migrated
* layout repo migrated
* New action repo migratd
* .
* Migrated rest of the repos.
* Migrated the repo impl as well between ce and common
* acl package partially migrated
* Authentication migration done!
* Controllers migrated
* AppsmithPermission enum migrated to class and split
* Unnecessary change removed
* Appsmith role enum converted to class
* Revert
* Reverting enum to class conversion after failing at implementing
* All services migrated
* server.solutions package completed
* Fixed solutions failing test cases
* Code compiling! Woohoo!
* fix: removed -1 and 2d array population error in the selectedRowIndices
* test: init integration test for bug fix
* test: completed the integration tests for bug fixes
* test: added unit test for edge case in propertyUtils
* refactor: removed unused import
* feat: added selectedRowIndices as an option in the autocomplete
* fix: fixed table widget test cases
* fix(handle-enter-confirm-popup): added key action to confirm popup with class functions
* fix(handle-enter-confirm-popup): removed isModalOpen in keyUp not required check
* refactor api's to include branchName for git
* Check for updating Ids for move action
* Added check for global profile
* Fix bad merge
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
When user duplicates an application, the source application is also being marked as recently accessed application. As a result both the duplicated application and the source application are shown in the beginning of the list of applications.
* fix: deleting color in color picker causes default color to set automatically
* Set default color property for newly added columns
* Add cypress tests
* fix issue for Label color
* fix: test issue
Loading them in parallel is causing us to breach some rate limiting restrictions sporadically and the whole process fails. So this reverts to loading pages sequentially instead.
* feat: Change Map Pin Color on Map Widget
-- Add a color property for a marker
* feat: Change Map Pin Color on Map Widget
-- Set #E0DEDE as default color
* feat: Change Map Pin Color on Map Widget
-- Revert to the original logic
* feat: Change Map Pin Color on Map Widget
-- Add a new base icon for a marker
* feat: Change Map Pin Color on Map Widget
-- Add anchor property for custom marker icon
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* fix: PageLoad - action.data implicitly depends on action.actionConfiguration. Added this relationship to dag
* Random walkthrough comments
* Logic does not work!
* Ignore pagination configuration from dynamic binding path list to avoid creating cyclic dependency
* The most complicated test case ever passed! Woohoo!
* Code cleanup
* Incorporated review comments
* Feat: Switch Group Widget
-- The first MVP of the widget
* feat: Switch Group Widget
-- Follow the same config and implementation as the other group widgets
* feat: Switch Group Widget
-- Elaborate the help text for defaultSelectedValues
* feat: Switch Group Widget
-- Add a widget icon
* feat: Switch Group Widget
-- Remove unnecessary property control at ItemsControl.tsx
-- Refactor some code snippets for higher code quality
-- Add basic cypress test cases
* fix: icon for the widget optimised & replaced
* feat: Switch Group Widget
-- Add a unit test for defaultSelectedValuesValidation
* feat: Switch Group Widget
-- Make the validation type for defaultSelectedValues property to ValidationTypes.ARRAY
-- Remove original validation function and its unit test
* feat: Switch Group Widget
-- Fix on typo
-- Fix on formatting issue
-- Change the help text for isRequired property
* feat: Switch Group Widget
-- Revert help text for isRequired property to the original one
* feat: Switch Group Widget
-- Set strict property to true on defaultSelectedValues
* feat: Switch group widget
-- Refactor utility function, getCamelCaseString
-- Add the corresponding test case
* feat: Switch group widget
-- Implement options property as a plain JS field
-- Reimplement update logic for selectedValues when options changes
-- Add a new utility function for checking equality of object arrays
-- Add a unit test for the above function
-- Rewrite the corresponding Cypress test cases
* feat: Switch Group Widget
-- Remove isArrayEqual utility function and directly use functions from lodash
* feat: Swtich Group Widget
-- Make selectedValues as a derived property
* feat: Switch Group Widget
-- Replace the widget icon
* feat: Switch Group Widget
-- Rewrite a test case for onSelectionChange property
* feat: Switch Group Widget
-- Remove redundant calls for openPropertyPane
* feat: Switch Group Widget
-- Remove closePropertyPane call from afterEach hook
* feat: Switch Group Widget
-- Change the selector for every switch element in onSelectionChange test case
* feat: Switch Group Widget
-- Fix on failed Cypress test case, adding closePropertyPane command to onSelectionChange
* feat: Switch Group Widget
-- Remove template literal from a selector
* feat: Switch Group Widget
-- Make click on onSelectionChange test case forced
* feat: Switch Group Widget
-- Fix on crash issue when editing on Options property
* feat: Switch Group Widget
-- Add the widget icon to show in entity explorer
* feat: Switch Group Widget
-- Fix on blue color on mouse down
-- Add a new property for alignment
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
* [fix]:cursor turning to pointer upon onclick in deployed app
Signed-off-by: Nishi Agrawal <nishihere19@gmail.com>
* fix: cursor changing to pointer only if onclick event associated to image widget
Signed-off-by: Nishi Agrawal <nishihere19@gmail.com>
* fix: build error, no used var
Signed-off-by: nishihere19 <nishihere19@gmail.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* fix: Added timestamp in where clause types, modified logic for calculating date times
* fix: Added another field for timestamp, shouldn't fail
* Added test case for older filter method as well
* Added test case for older filter method as well
* Modified types for date and time
Sending the test email was using existing email configuration, this commit fixes this to use the configuration provided by the user on the admin settings UI.
* fix: evaluted value undefined for text widget
* test: added cypress spec for cell background and text size change validation
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* ast changes
* ast fix for cyclic dependency
* jest test updates for ast
* feat: Extract references in code with AST (#8617)
Co-authored-by: Nidhi <nidhi@appsmith.com>
* undo debugger changes
* code clean up and comments
* update type checks for literal nodes
* include tests for IIFE and direct object access
* fix - dependency map not updated on IIFE/direct object access
* update tslib
* unescape on AST parsing
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
* fix: fixed the default value of zero not present in parent form data on pageload
* test: added cypress test for Checking default value 0
* refactor: changed the DSL and added reset condition at the end of test
* refactor: removed the proxy variable
* refactor: corrected the typo
* fix: Added client side execution logic and on page load logic for js
* Revert dev env
* Revert dev env
* Updated tests expectation partly to break PR
* fix: Reverted test breakage for this PR
* Update Validations
===
- If number value is out of bounds, return minmax || parsed || 0
- If text has regex, match RegExp - earlier we were matching with
string, which was always failing
- Prioritise expected value in TEXT validation RegExp case.
* Add tests for regex and update tests for other changes
* Add test for using expected type instead of regex in messages
* Update regex, as it was reported to be buggy
* created new widget
* new lib for document viewer
* added cypress tests
* updated icon
* handling different url types with viewer
* add to ignore react-documents in jest transformIgnorePatterns
* added jest test, updated comments
* required changes
* updated cypress test
* updated icon svg
* doc viewer new renderers added
* comment as required
* updated test case
* added url / base64 validations
* updated url checking condition for space and updated test case
* cypress selector update
* updated url validations
* Merge branch 'release' into feature/new-document-viewer
* lazy load external lib
* docs: changed the tooltip text for total record count for table widget
* test: added unit test for testing tooltip text table widget
* refactor: added Tooltip message in the message constants
* Untested trigger framework added
* Entity selector is working!
* Moved to query params instead of request body for the trigger api (since the trigger api is of type GET)
* Adding minor comments
* Added test case for trigger functionality
* fix: Table Widget Icon Button should be having a default variant
-- Add update logic for button variant property
* fix: Table Widget Icon Button should have default variant
-- Revert old solution
-- Set default button variant to PRIMARY both in getTableColumns and in propertyConfig
* fix: Table Widget Icon Button should have default variant
-- Change comments for updateIconAlignment utility function
-- Create a migration for button variant
* fix: Table Widget Icon Button should have default variant
-- Remove unused index parameter from forEach statement
* fix: Table Widget Icon Button should have default button variant
-- Fix on misuse of forEach on primaryColumns object
* fix: Table Widget Icon Button should have default variant
-- Change buttonVariant to TERTIARY instead of PRIMARY
* fix: #4758 added EvaluatedValuePopup over PrimaryColumnsControl to show errors and handled duplicate column name
* highlighted duplicate column labels, show error message only when duplicate column label focused
* updated test case
* updated duplicate label indicator logic for test case
* updated product modal and invite user or application modal style
* added constant of invite button width
* added cypress on close button on update product modal
Co-authored-by: Albin <albin@appsmith.com>
* show invitation option for overlapping email addr string if no exact match is found.
* added test case
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Added parsing of where condition to Condition format
* Refactoring the name of functions to denote old style before implementing UQI where clause
* Updated the error message for data type problem for mixed data tyeps
* Generating complex logical expression.
* Working version of filtering happening without refactoring of code
* Added where clause configuration in List files in a bucket command.
Not able to render due to some configuration issue.
* Untested code completion
* To be reverted. Ayush's changes.
* Tested where condition on S3 List
* Made AND the default option for where clause
* where clause working in case of no valid inputs provided.
* Added parallel test cases as that were existing for the old where clause
* Revert "To be reverted. Ayush's changes."
This reverts commit a0f9b72e241f0688b7ef07cea8c3017473423512.
* Making equality the default option in a new where clause for LIST command
* Added test cases incorporating the review comments.
* Updated the options for the where command in S3 plugin. Removed the comparison operators except equality, non equality and belonging (in and not in) operators.
* Added catching of exception while parsing the operator into known appsmith condition types
* Reusing objectmapper from BasePlugin instead of creating a new one here.
* updated design as per figma
* updated design, fix cypress test
* item width fix as required
* label functionality in select, tree-select wids
* changes as required
* label, placeholder and default focused item logic changes for select
* updated border color for invalid selected value
* fix for colors file
* basic input fields - unified disabled style
* select widgets - unified disabled style
* icon button - change disabled color
* radio group and switch - unified disabled style
* checkbox, radio, switch - disabled label color
* change disabled text color for all input fields
* chnage lable color on disabled state
* RTE header - not allowed cursor on disabled mode
* currency label - disabled color change
* switch and radio group css clean up
* replace text colors with GREY shades
* change label color for disabled switch and radio group
* restructure numeric input css
* numeric input buttons updated
* css fixes for mozilla
* table button disabled color
* change label color - numeric input dropdown
* hover only when enabled - numeric input
* all button colors updated
* remove unwanted wrapper
* update label color
* name color in constants
* use grey palette for switch component color
* feat: Spellcheck property for the input widget
-- Add a new widget boolean property, isSpellCheck
-- Add the corresponding Cypress test cases
* feat: Spellcheck property for the input widget
-- Place isSpellCheck property just after autoFocus property
* fix: The value is always empty object in AudioRecorder Widget
-- Export blob contents in raw binary, data url, and text
* fix: The value is always empty object in AudioRecorder Widget
-- Create new meta properties dataAsDataURL, dataAsRawBinary
* fix: The value is always empty object in AudioRecorder Widget
-- Rename meta properties
* fix: The value is always empty object in AudioRecorder Widget
-- Remove unnecessary constants.ts
* Add API to checkout remote branch
* Create a new application on fetch
* Create a new application on checking out remote branch
* Add tests
* Change per review comments
* Changes per review comments
* Migrations for updating dynamic trigger paths for list widget in the existing pages to remove incorrect trigger paths.
* Removed an unnecessary line
* Review comment
* If widgetType is null, then this would ensure that NPE is not thrown.
* added delete icon on user mobile card
* replaced hard coded user name
* fixed alignment of delete comfirm modal and added headerIcon props on dialog component
* updated dropdown style on user mobile card on member setting page
* replaced iconbg color as constant
* fixed issue of invited user's list whenever sharing
* updated style of mobile user card on member setting page as figma
* updated style of user card of mobile member page
* updated dropdown icon
* added default user role
* removed border radius style
* removed duplicated action name
Co-authored-by: Albin <albin@appsmith.com>
* Remove Region field from S3 datasource editor page for AWS S3, Upcloud, Digital Ocean Spaces, Dream Objects, Wasabi.
* Use SDK provided property for AWS S3 to delegate region selection to the SDK.
* Extract region info from endpoint URL for Upcloud, Digital Ocean Spaces, Dream Objects and Wasabi, since the SDK property does not work for these service providers.
* Removed some redundant checks from datasourceCreate that were already part of validateDatasource
* Fix show clause in list.json
Generates and stores a slug from application name and page names when they are created or updated. Also adds a migration to set slug to existing applications and pages.
When a page is deleted, the comment threads in that page should also be deleted and should not appear to user.
The Edit mode comments should not be visible to app viewers.
* style: update no results found style for multi select
* style: update empty data text for multi select widget
* style(SingleSelectTree): update style for no items found
* style: remove minimum width from empty containers
* test: add integration test for tree select
* test: add integration test for empty data for multi select
* test: add integration test for empty states
* updated style of text input and groupbox key value delete icon
* fixed issue of margin of key input of groupbox
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* fix for copied widget
* copied modal paste on maincontainer fix
* mobile modal fix
* added logic to paste modal widget on the main container only
* added check only for modal Widget close since the saga seems to be shared for other scenarios
* WIP
* Add relevant error messages for push action
* fix tests
* changes per review comments
* Add error message for the file system related error
* Fix test failures
* Fix test failures
* fix: [Bug] The name of the Widget is 'MultiTreeSelect' in Widget Pane and 'MultiSelectTree' in the canvas #8306
* Resolves#8306 and #8436
* Updated commit
* Update, removed treeselect commit
* Removed space
* Test for lint
* Basic tests for Linting Warning/Error
* Updated tests
* Updated tests
* Updated tests with another lint scenario
* updated test
* Added tests for list and text Widget
* Updated tests
* Updated tests
When deciding whether to redirect to default application or the redirect url provided during signup, it'll compare with url path now. Earlier it was considering any query params added to the redirect url.
-- Change the label for the property, isClickedMarkerCentered
-- Set isClickedMarkerCentered to true by default
-- Create the corresponding migration for it
* fadd null check
* fix validation of checkbox group
* add jest test for checkbox default selected option validation
* fix checkbox group failing
* sort order of imports
* update default selected value validation
* core workflows of git - branch, clone, commit, pull, merge, status, log
* Rehydrate file system before merge operation
* Add logic to handle merge conflict for merge and pull flow
* Add defaultBranch to listBranch API
* Add Unit tests for git commands
* Upgrade JGit dependencies to fix the security issue
* Git command tests
* Revert unwanted changes and update delete application flow
* Disable git feature until the FE changes are merged
Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
* dynamic text field bg fixed
* removed | replaced color with constant
* * border radius of google sheet where clause removed
* * Error header BG color changed
* * where field alignment fix
* fixed hover state of dynamicinputtextcontrol
* border-radius fix
* css syntax fix
Co-authored-by: rashmi rai <rashmirai@rashmis-MacBook-Pro.local>
* Added hover state to the black Launch button on Applications Page.
The black button didn't exhibit hover changes while the orange Edit button did
because the Button base component made the buttons darker, and the launch button
was already dark.
Custom CSS was included in Applications.tsx for hover state background-color
change.
* Fix: Added hover state to Launch button on Applications page
default: black background, white text
hover: transparent background, black text and border
* replaced harcoded colors with src/constants/Colors.tsx properties
* fix(dropdown): add check for empty option array
* test(Dropdown): add UT for empty option
* refactor(Dropdown): show no results found message on empty data
* refactor: update empty data message
* fix: unread indicator behaviour
* minor fixes
* no need to deep copy the state
* removed state update of show indicator
* refactor to handle delete & insert thread cases and getting rid of unnecessary state
* removing unnecessary updates to store
* with update event if the thread is not there we'll put it in
* fetching the comments when user starts to edit the app
* updated tests
* typo fixed
* using memo to get the unread comments flag
* removed dependency from global state
* storing last updated comment thread id for each application.
* updated a few test cases
* Recently a change was introduced to modify the default value of s3 plugin's permanent URL toggle from NO to YES. This created an issue with the older actions where the toggle didn't exist and hence no value was saved against its property. Hence, since the default is now ON and the older actions don't have any value saved, the action editor shows the toggle value as ON but behaves like the value is OFF. To fix this issue, this method adds URL toggle as NO where no toggle value exists.
- Decreased the delay to 3 seconds and
- Added CSS animation instead of GIF which reduces the load time.
- Added Placeholder image for the information image to show while it is loading.
* change Button variant types constant
* Add migration
* Adds cypress test to validate default button variant
* update the ButtonVariant for MenuButton inside table widget
* Remove only from Button_spec
* fix: Binding issue with Variant in table
* fix: cypress test for default variant validation
* Add validation to IconButton inside table
* Remove bracket highlight on error
* add authentication section
* move string to messages.ts
* move api editor tab titles to messages.ts
* use createMessage to create strings
* navigate edit datasource to data source edit mode
* Scaffolding for undo-redo
* undo redo working Poc commit
* memory performance improvements by diffing
* dont run update on undo/redo"
* merging widget postion update and canvas bottom row update into one dsl update.
* fix tabs widget
* Visible updates per undo redo action (#6838)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* resize atomic operation
* fix switch control state issue
* disallow undo/redo for snipping and comment mode
* disallow undo/redo for snipping and comment mode
* fix color picker issue in undo/redo
* add test for replayDSL
* option control fix, adding logs
* minor position change undo redo updates
* add test cases for replayHelpers
* property Upade visual change
* remove unused code
* global hot key jest test for undo redo
* Fixing batch updates on property change..
* add tests for toggle control in property pane
* unwanted utils.
* add tests for text control
* add tests for deletion
* add tests for dropping a new widget
* adding jest test for replayUtils
* add move widget tests
* add tests for color picker control
* add analytics for undo/redo
* add analytics for undo/redo
* tab addition atomic
* cypress tests for propertyPane, toasts and radiowidget optionControl
* replayDSL end of redo stack fix
* property update changes
* menu option control debounce input
* color picker empty undo fix
* fix cypress tests
* widget add/remove atomic
* revert alternative approach to handle atomic operations
* update replayDSL test
* add some comments
* addressing review comments
* flash color for property pane controls
* Fixing adding of tabs widget as well.
* code review comments.
* merging widget postion update and canvas bottom row update into one dsl update.
* fix ordering of tabs property control
* meta property update canvas min height.
* fixing failed specs.
* Fixing entity explorer update on deleting tab from entity explorer.
* address review comments and minor property update changes
* fixing failing tests
* merge conflicts
* changes to cater widget api.
* fix suggested widget table issue
* draggable list for undo redo
* fix widget name focus
* excluding canvas updates.
* fixing codeEditor update on propertySection collapse
* fixed failing test case
* ctrl y to redo for windows users
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Revert "fixes to add proper routing around navigation between query pane, api pane and integration screen (#7782)"
This reverts commit b3d7f08d4e.
* Revert "fix: back btn navigation problems (#7692)"
This reverts commit c0f5ab3f30.
Solves for two things:
1. From the welcome page signup, depending on telemetry being enabled or disabled, we report.
2. When telemetry is changed from welcome page (which, it obviously will), we make the change persistent by writing to the env file.
* moved constants to a proper files
* added new action constants
* updated websocket reducers and actions
* updated websocket saga to handle proper socket events
* updated initialization
* updated multi pointer arena + realtime app editors components
* minor feedback update
* updated events list by socket level
* removed e.persist
* passing socket obj rather than just id
* setup for skipping the bot comments if user skips the comments tour
* Using the onboarding status api
* removed comments
* fixed typos
* added test cases
* small fixes
* updated the tests
* minor update to a test case
* Update asset urls
* fix: use successImageUrl for CRUD success popup
* Increase delay to switch between GIF and image
* Use ASSETS_CDN_URL instead of S3_BUCKET_URL
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
* Prepared Statements doesn't set value if the data type is not supported in H2. Defaulting to String for unsupported types.
* Incorporated review comment
* Revert "fix: multiselect validation (#7698)"
This reverts commit 728a2559c5.
* - Convert the multiselect options value and labels to string before filtering as the values can be numbers.
* - Discourage users from using string in multiselect default value
Co-authored-by: Satish Gandham <satish@appsmith.com>
* Delete CRUD-DB-Table-Template-Application.json
* Updated Template
* Update TC to replace selectedRow with triggeredRow as per the updated template
Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
* Remove bracket highlight on error
* hide data tree functions in non actions
* filter by entity type
* fix the autocomplete issue
* temp
* Fix case where entity type is undefined
* remove unused code
* fix failing test
* feat: add disableLink for text widget
* feat: add test for disable link
* fix: email parsing
* fix: test issues
* fix: failing test
* fix: failing test
* Create initial version of AudioWidget by copying VideoWidget
* Add EventType for AUDIO
* Change default Audio URL to a podcast related to Appsmith
* Add AudioWidget icon
* Change Entity definition for AudioWidget
* Add cypress test
* Add jest test
* fix: typo
* - If a field is not required and empty, don't show error.
- If a field is required and empty, bail early and show error.
* - Remove default label from input
- Fix a issue with required validation
Co-authored-by: Satish Gandham <satish@appsmith.com>
* - Optimze list widget renders by memoizing part of renderchildren
* - Fix failing tests and add more dependecnies to memo
* - Fix issue with repositioning widgets inside list.
* comment out the moving of widgets test
* Remove stray import
* Fix the failing jest test
Co-authored-by: Satish Gandham <satish@appsmith.com>
* checking string equivalence rather than inclusion.
* reusing getEntityName function to get the abs name of the dependencies and entities
* added a test to check the fix
* fix: set button color and remove button style for button, IconButton, Menubutton
* fix: test
* fix: make the FormButtonWidget to have properties of ButtonWidget
* Adds Migration for FormButtonWidget
* fix: Broken FilePickerWidget
* Remove cypress tests for buttonStyle and add tests for buttonColor
* Change button variant labels
* set default value for buttonColor
* fix: migration for CUSTOM ButtonStyleType
* change make public toggle slider locator to be more specific
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: sbalaji1192 <sbalaji1192@gmail.com>
* adding validation for fusion chart's paletteColors Attribute
* restructuring as params for TEXT type
* removing unnecessary space
* addressing review comments
* adding validations to ignore case
* fix crashing of menu widget in list
* add ternary operator when calling type on widget
* remove eslint disable rule
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Add Git push API & UI Updates
- Add Global Config fetch in git connection
- Add Success Toast Msg for commit and push API
- Fix generate and fetch SSHKey API
- Fix Close button UI
- Add Tick Icon when SSH Key is copied
- Add Direct Deploy option
- Hide Merge Tab
- Add Commit success and push success msg
- Add the Latest Deploy Preview option
* comment out the moving of widgets test
* update tests for replay spec
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Scaffolding for undo-redo
* undo redo working Poc commit
* memory performance improvements by diffing
* dont run update on undo/redo"
* merging widget postion update and canvas bottom row update into one dsl update.
* fix tabs widget
* Visible updates per undo redo action (#6838)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* resize atomic operation
* fix switch control state issue
* disallow undo/redo for snipping and comment mode
* disallow undo/redo for snipping and comment mode
* fix color picker issue in undo/redo
* add test for replayDSL
* option control fix, adding logs
* minor position change undo redo updates
* add test cases for replayHelpers
* property Upade visual change
* remove unused code
* global hot key jest test for undo redo
* Fixing batch updates on property change..
* add tests for toggle control in property pane
* unwanted utils.
* add tests for text control
* add tests for deletion
* add tests for dropping a new widget
* adding jest test for replayUtils
* add move widget tests
* add tests for color picker control
* add analytics for undo/redo
* add analytics for undo/redo
* tab addition atomic
* cypress tests for propertyPane, toasts and radiowidget optionControl
* replayDSL end of redo stack fix
* property update changes
* menu option control debounce input
* color picker empty undo fix
* fix cypress tests
* widget add/remove atomic
* revert alternative approach to handle atomic operations
* update replayDSL test
* add some comments
* addressing review comments
* flash color for property pane controls
* Fixing adding of tabs widget as well.
* code review comments.
* merging widget postion update and canvas bottom row update into one dsl update.
* fix ordering of tabs property control
* meta property update canvas min height.
* fixing failed specs.
* Fixing entity explorer update on deleting tab from entity explorer.
* address review comments and minor property update changes
* fixing failing tests
* merge conflicts
* changes to cater widget api.
* fix suggested widget table issue
* draggable list for undo redo
* fix widget name focus
* excluding canvas updates.
* fixing codeEditor update on propertySection collapse
* fixed failing test case
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* pushing and removing errors from debugger for js object
* added message part of messages
* changes for linting and errors showing
* added try catch for executing function
* PR comments fixed
* PR comment fixed
* Change currency input layout to flex
* fix: styles for normal input
* Increase space b/w icon and text. Add focus color
visual modifications as suggested by Momcilo
* fix: alignment for ISDCodeDropdown
* fix: background color for disabled
* change dropdown focus color as suggested by Momcilo
* remove unwanted conditional height
* makes disabled Numeric input consistent to disabled input
* reverted previous revert
* standardised widget sizes
* Text changes
* changed default input label style to match default text style
* more messaging tweaks
* minor fix
* Removed dot from the text
* minor fix for form widget
* fixed tests
* minor fixes
* -set user photo id when adding a new comment thread
* -update user data when users remove their profile photo
* -updated photo id in comments when user changes or set a profile photo
* -remove photoid from thread, kept it in comment only
* -resized uploaded profile image
* -added test for delete profile photo
* -add test for the comment set user photo
* -check user change event handler is called in delete user photo
* -add test for checking user photo change event is triggered after upload photo
* -fixed tests due to changes
* -make profile pictures thumbnail only
* - used get photo by asset id API to show user photo in comment card
- set cache control header in get asset by id API
* - stop using email address to show user photo
* Adding handling for columns with multiple words in name
* Maintaining the order of columns by using LinkedHashMap instead of Map
* Incorporating review comments
* Migrating the test from Set to List to assert the order of the columns as well in the response
GitBook API occasionally throws a 500 when trying to get a page. This makes our whole sync Lambda fail.
This commit adds a retry step, that will wait a second and retry the GitBook API, with retries capped to three, so the Lambda is a little more resilient to random 500s from GitBook API.
* fix: Input widget as number type 0 as default value
* added cypress test case
* cypress test fix, force click default text input
* updated input widget validation of number/currency/phone number type
* minor change
* FIX#2587 : added container wrapper component to handle styles, updated test cases
* FIX#2587 : abstract widget style component for common use and wraped on text widget
* updated style boundary and css
* updated cypress test
* fix: accommodate prop pane height change for the test
* removed properties from text widget
* updated container wrapper style to handle border corners, updated migrations for container and form widget
* fixed container overflow
* added testcases for container and text widget
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
The env config API currently only changes values that are already defined in the env file. It is not capable of adding anything to the file.
This commit adds the capability to do so. However, since we don't want to let the client add just any variable, we've switched from a black list to a white list of env variables that can be managed by this API. If the requested variable is present in the whitelist, we add it, if its missing in the env file.
This commit adds the following API:
`/api/v1/admin/env` — Responds with the names and values of all environment variables currently configured, that are allowed for configuration from the UI. Some variables will be missing from this, ones that are not allowed to be edited from the configuration UI.
Doesn't take any query params. Only usable by the superuser.
Also added a `isSuperUser` boolean field to the response of `api/v1/users/me`, that will indicate whether the current user is a superuser or not.
* Currently, the list of actions to be run on page load is not updated when an action object gets deleted. Hence, sometimes, a previously deleted action may be set to run on page load which throws an error when the application tries to run it on page load.
* This PR updates the list of actions to be run on page load whenever any action gets deleted.
* Updated getConfigInitialValues function to extract initialValues properly
* Added error catching in case the form is not loaded properly
* Comparing the whole formdata instead of just the values
* Refactoring
* Moved setting initial eval state to query pane saga
* Running update only if uicomponent type is consitent with UQI
* Removed check for UQI type for form eval
* Removed unused imports
* Table widget migration to sanitize keys and binding paths
* added new test case
* modified the logic to sanitize dynamicBindingPathList
* fix calling migrateTableSanitizeColumnKeys on child and fix updating dsl version
The problem was that the pagination was designed & tested with only 2 pages. Firestore has a different function `limitToLast` which solves for previous page pagination commands.
* hide the widget names
* blocking multiselect in comment mode
* wrapped the name
* the latest comment will be on top
* isolated a condition for selection canvas
* added unresolve tooltip
* added resolved thread tooltip
* updated sorted comment cards when user gets the update/insert/delete events
* Same templates for mongo fetch
* WIP
* Working version
* Minor refactoring and addition of comments for understanding the code flow
* Minor fileName change
* Extra check added to only try to read options for command
With latest update, the following fields are unavailable on the `appsmith.user` object:
- `accountNonExpired`
- `accountNonLocked`
- `credentialsNonExpired`
- `isAnonymous`
- `isEnabled`
These fields are necessary for building applications and many apps were relying on these, despite them not being listed in the documentation at <https://docs.appsmith.com/framework-reference/appsmith#user>.
* 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>
- Added new API that generates a new ssh key pair and stores that inside the git meta data of an application. The key is generated in open ssh format. The private key is stored as encrypted in DB.
* updated widget properties
* updated placeholders
* updated default for date
* lint fix
* Fixed more styles and reverted changes to input widget
* adjusted default sizes of different widgets
* resized image in list widget
* reduced chart default data
* fixed tests
* PR comment fixes
* fixed tests failing
* fix: Fixed failing jest tests because of an error in chart widget propertyConfig object
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
* Select/MultiSelect widget UI test cases
* Select/MultiSelect Test Cases
Dropdown-AlertModal
Dropdown-FromModal
Dropdown-Call-Api
Dropdown-Call-Query
Toggle JS - Dropdown-Call-Query
Toggle JS - Dropdown-CallAnApi Validation
Verify Search box for selecting drop-down options
Verify Dropdown default value
Dropdown Icon Visibility
Explore Widget related documents
Dropdown Close
On Option Change Action
Copy paste dropdown
Dropdown-Delete
Toggle JS - Dropdown-Unckeck Visible field
Toggle JS - Dropdown-ckeck Visible field
* Added new file button file and fixed the bugs in chart and button
Added new file button file and fixed the bugs in chart and button
* Fixed JS toggle for Button widget
* Added go to edit page from published page
* Removed the multiselect test cases from dropdown
* Select ui test cases fixes
* Select UI test fixes
* List Widget UI Test Cases
List Widget UI Test Cases:
Change the List Widget Name
Add or Modify items
Change the Background Color
Change the Item Background Color
Enable Disable Visible
Enable Disable Visible - JS
Adding Query/API
Copy Widget
Delete Widget
Change the list and item background color using JS Button
* Update List_spec.js
* ArangoDB has two types of command - one that fetches a response and the other that updates a document. Currently, ArangoDB plugin treats all cmds like the one that returns a response, hence when update cmds are run then an empty response is returned to the client since there is nothing to fetch. This PR adds a check to fetch the response based on the type of cmd. Hence, for an update cmd the number of writes succeeded or failed would be returned as a response.
* Insert git application metadata to application object, for git sync/version control feature there is a need to save the application in the structured format
* Added changelog to index application collection with git branch and remoteurl
* Rehydrate and dehydrate applications among different instances
* Added serailisation purpose while exporting the application to make distinction between version control and regular import-export flow
* Git file operations moved to appsmith-git module
* Delete json reference from directory for deleted resource in DB
* Added git authentication in application metadata
* Replace String with Path to handle file path in git file structure
The yarn.lock file is currently out-of-sync with the dependencies we are using. So, running yarn install --frozen-lockfile fails with the following error:
yarn install v1.22.10
[1/5] 🔍 Validating package.json...
[2/5] 🔍 Resolving packages...
error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
This commit gets it back in shape.
Currently, in the editor Docker image, if the APPSMITH_SERVER_PROXY_PASS env variable is missing or set to empty, then the service will notify the user and refuses to start. This PR will change this behaviour to use a default value for this variable and attempt to start.
Fixing challenge with the valid property as below:
1. Change the valid prop to an input control like regex
2. the valid field prop should be able to accept undefined apart from boolean
3. Change helper text to > ability to control input validity based on a JS expression.
* fix: the thread with the latest comment will be at the top.
* fixed the z index of unpublished pin
* making the layout control absolute
* removed comments
* reversed the ids order
* made sorting logic generic to work with list of ids
* minor refactor
* putting layout controller on top of canvas
* fix: underline style for text
* fix: add expected structure example
* Revert "fix: add expected structure example"
This reverts commit efd56886a26f87bb18cf6edc53bd246bfeb8e0f1.
* fix: test failing
* fix: widget crashing (#6980)
* fix: update omnibar search string for documentation for actions (#6722)
* [Mongo] Added default values for query for Find, Count and Distinct commands (#6960)
* Added smart defaults for query in Count, Distinct & Find commands
* Added test cases for smart inputs for query and limit for find, and query for count and distinct
* Distinct command output now results a JSON object instead of an array of strings (#6964)
* Fix: Break word when text widget content is long (#6211)
fixes#5319
* fix: widget crashing
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: balajisoundar <sbalaji1192@gmail.com>
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: balajisoundar <sbalaji1192@gmail.com>
* fix: compact mode
* fix: test
* fix: remove row height visibility
* fix: options label for compactMode
* feat: Add test
* Fix: failing test
* fix: test
* fix: test case.
* fix failing test
* fix: move position of rowHeight prop in property pane
We're not going to be collecting the company name for the self-hosted installation, but instead we'll be collecting the use-case that is being solved with Appsmith.
The env variable APPSMITH_SERVER_PROXY_PASS is missing a default value, and the start script in client image requires this. But since this env variable is not set on any _existing_ installations, they will break. So to fix that, we are adding an initial value to this variable to a sensible default.