* 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