## Description
> Local server set up requires configuring the env variable APPSMITH_GIT_ROOT to be configured. This is PR adds the same info to the docs for the server set-up guidelines.
## Description
As part of the action selector refactor, we are making the following changes -
- moving renderField to its own component called Field
- created FieldConfig to hold all the configurations of these functions fields: This config will slowly be built up to hold all the miscellaneous configurations which is currently scattered throughout different files
- added types for the props
- moved FieldConfig to its own type
Fixes#16934#16936
## Type of change
- Refactor
## How Has This Been Tested?
- manually
- Jest test cases
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
* feat: cypress test cases for the slider widget.
* fix: review changes completed.
* fix: cypress use data-cy selector.
* fix: remove range calculation from range slider stpSize validation.
* fix: added range validation back for stepSize.
* add readonly prop + migrate disabled to readonly for rate widget
* add comment
* add check for dynamic value
* add readonly to dynamic property list in migration
* add tooltip in readonly state too
* fix jest tests
* dummy commit to fix git file name issue
* dummy commit to fix git file name issue
## Problem
**Why do we need validation dependency?**
- When on change of particular property value if other property needs revalidation then current evaluation architecture do not support such validation run.
https://www.notion.so/appsmith/Validation-Dependency-d7623a5625bd4aa187a3ae2372d3ac07
**Issues to resolve**
Fixes#15303Fixes#17159
Fixes https://github.com/appsmithorg/appsmith/issues/16170
## Solution
**New Validation Flow**
validate a property after its evaluation and check if there are other properties that need to revalidate on a change of this value.
- if yes run validation for those properties.
How does validation dependency get created?
- every widget’s property will keep static `dependencies` array in `validation` property like shown below.
```jsx
{
validation: {
type: ValidationTypes.FUNCTION,
params: {
fn: defaultOptionValueValidation,
expected: {
type: 'value1 or { "label": "label1", "value": "value1" }',
example: `value1 | { "label": "label1", "value": "value1" }`,
autocompleteDataType: AutocompleteDataType.STRING,
},
dependentPaths: ["serverSideFiltering", "options"],
},
dependencies: ["serverSideFiltering", "options"],
}
}
```
This `dependentPaths` array will be used to form validationDependencyMap.
#### Changes
- The code editor component wasn't re-rendering for a few cases. Due to this updates were not shown until the component state was changed.
- In CreateFirstTree, After evaluateTree we run `validateTree`. In `validateTree`, we validate all the properties in `validationPaths`. Here, if the errors were resolved on revalidation, it didn't reset the validation errors stored in data tree before. Now, this PR adds the reset logic.
- Created `validationDependencyMap` to re-validate properties on change of the property their validation depends upon.
- After each property evaluates in `updateDataTree`, we check if re-validation is needed, if yes then we re-validate dependent properties.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- jest test
**Test Plan**
https://github.com/appsmithorg/TestSmith/issues/2078
## Checklist:
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
* fix: checkbox label right alignment issue.
* fix: label position and alignment for switch and checkbox widgets.
* fix: test cases for switch and checkbox label alignment.
* fix: ListWidget triggerPaths
* Replace single quote with JSON.stringify to parse trigger fields to avoid code execution via user input.
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
## Description
Adding base function to set the user permissions for a user in any domain object.
As part of this, we also add default permission group to the `SeedMongoData`. Without this fix, the JUnit tests go into an infinite loop. Also fixing the `ExampleWorkspaceClonerTest` file.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
- JUnit
## Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
* fix: replace time based action to event based
- The delete datasource button was getting reset to it's original state after a static time of 2200ms
- Replaced this to reset on completion of deletion instead
* fix: removed unused functions
* fix: updated the condition to show confirm delete icon
## Description
This PR adds the workspace details to user invite analytics event
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manually on local
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes