* 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