## Description
Expand auto layout implementation to handle auto height use cases.
Use cases handled in this PR:
1. Change canvas and container-like widget height on adding / removing
widgets.
2. Container height update on content change of individual props, e.g.
text, checkbox groups.
3. Tabs widget use cases - change height on tab change, shouldShowProps
update.
4. Correct modal widget height.
5. List widget updates - disable auto height, enable manual resizing of
item container.
6. Fix resize loop.
Fixes https://github.com/appsmithorg/appsmith/issues/21977
Fixes https://github.com/appsmithorg/appsmith/issues/22093
Fixes https://github.com/appsmithorg/appsmith/issues/21837
Fixes https://github.com/appsmithorg/appsmith/issues/22183
Fixes https://github.com/appsmithorg/appsmith/issues/21758
Fixes https://github.com/appsmithorg/appsmith/issues/21870
Fixes https://github.com/appsmithorg/appsmith/issues/22086
Fixes https://github.com/appsmithorg/appsmith/issues/22539
Fixes https://github.com/appsmithorg/appsmith/issues/22329Fixes#22588
## Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
---------
Co-authored-by: Aswath K <aswath@appsmith.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Context: currently, there is no way for us to know any details about a
user when they reach out to support via Intercom. Thus, we are not able
to offer right level of support to them basis their current plan.
The idea is to ask for consent to share user details with Appsmith
before Intercom is enabled for a user, basis which support can determine
the right level of support.
Fixes#22385
Media
https://www.loom.com/share/ab63bb4d738445e8a8a484b66d8c1fa6
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important
- Manual
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
- Defined the default vertical alignment of widgets within a row. Now,
all widgets will align bottom except container widget which will align
top
- Added a predefined row gap of 12px in the case of desktop and 8px in
the case of mobile viewport.
Fixes#22227Fixes#22228
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
- Drag n drop multiple widgets, verified all the widgets except
container widget are bottom aligned and container widget is top aligned
- Checked if the row gap is 12px in the case of non-mobile viewport and
it is 8px in the case of mobile viewport
- Checked if the highlights are shown in the proper position
- Tested some templates after conversion
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [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
- [x] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Preet <preetsidhu.bits@gmail.com>
## Description
This fix primarily targets the List Widget. It enables the List Widget
Containers/Items to be selected when clicking on an empty space or a
plain widget/element. For instance, if a Text widget is clicked, the
onItemClick action on the list container is triggered. However, if the
Text widget contains a clickable link, only the link is activated, and
the OnClick event doesn't propagate to the List Widget Container. The
triggeredItems functionality remains unaffected.
Fixes#21409
## Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Cypress
### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2372
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [ ] 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
- [ ] PR is being merged under a feature flag
### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
>
```
const isOnCanvas = matchBuilderPath(window.location.pathname);
if (isOnCanvas) {
dispatch(showDebuggerAction(!showDebugger));
}}
```
The condition check to verify if we are on canvas was removed as we are
opening debugger throughout all pages.
> Now debugger is accessible from all pages in Appsmith. (Earlier it was
not present in Datasources pages.)
Fixes#19567#21935#21934#21907#21223
Media
> [Video](https://www.loom.com/share/ff5eebb5e0a74e0bad6ead26050b5833)
## Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
`defaultSelectedItem` property was added to the List widget. This
enables the User to Select any item when the list widget loads. This
selection makes use of the Data identifier property and it currently for
ClientSide pagination.
Fixes#13214
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Cypress
- Manual
### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2215
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
- [ ] PR is being merged under a feature flag
### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [x] Added Test Plan Approved label after reveiwing all Cypress test
## Description
This PR upgrades Prettier to v2 + enforces TypeScript’s [`import
type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
syntax where applicable. It’s submitted as a separate PR so we can merge
it easily.
As a part of this PR, we reformat the codebase heavily:
- add `import type` everywhere where it’s required, and
- re-format the code to account for Prettier 2’s breaking changes:
https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes
This PR is submitted against `release` to make sure all new code by team
members will adhere to new formatting standards, and we’ll have fewer
conflicts when merging `bundle-optimizations` into `release`. (I’ll
merge `release` back into `bundle-optimizations` once this PR is
merged.)
### Why is this needed?
This PR is needed because, for the Lodash optimization from
7cbb12af88,
we need to use `import type`. Otherwise, `babel-plugin-lodash` complains
that `LoDashStatic` is not a lodash function.
However, just using `import type` in the current codebase will give you
this:
<img width="962" alt="Screenshot 2023-03-08 at 17 45 59"
src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png">
That’s because Prettier 1 can’t parse `import type` at all. To parse it,
we need to upgrade to Prettier 2.
### Why enforce `import type`?
Apart from just enabling `import type` support, this PR enforces
specifying `import type` everywhere it’s needed. (Developers will get
immediate TypeScript and ESLint errors when they forget to do so.)
I’m doing this because I believe `import type` improves DX and makes
refactorings easier.
Let’s say you had a few imports like below. Can you tell which of these
imports will increase the bundle size? (Tip: it’s not all of them!)
```ts
// app/client/src/workers/Linting/utils.ts
import { Position } from "codemirror";
import { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
It’s pretty hard, right?
What about now?
```ts
// app/client/src/workers/Linting/utils.ts
import type { Position } from "codemirror";
import type { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```
Now, it’s clear that only `lodash` will be bundled.
This helps developers to see which imports are problematic, but it
_also_ helps with refactorings. Now, if you want to see where
`codemirror` is bundled, you can just grep for `import \{.*\} from
"codemirror"` – and you won’t get any type-only imports.
This also helps (some) bundlers. Upon transpiling, TypeScript erases
type-only imports completely. In some environment (not ours), this makes
the bundle smaller, as the bundler doesn’t need to bundle type-only
imports anymore.
## Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## How Has This Been Tested?
This was tested to not break the build.
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
## Description
Core features of Auto Layout and mobile responsiveness, hidden under a feature flag.
> Add a TL;DR when description is extra long (helps content team)
Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
## Type of change
> Please delete options that are not relevant.
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
> Manual regression and sanity tests for all fixed canvas functionality.
- Manual
- Jest
- Cypress
## Checklist:
### Dev activity
- [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
- [x] PR is being merged under a feature flag
---------
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
TL;DR
This is a complete architectural change of of List widget works to
support all widgets we currently have and should automatically support
any future widgets.
It also introduces nested List widgets i.e a list widget can have a
another list widget which in turn can have another list widget.
Fixes#18206Fixes#6775Fixes#13211Fixes#16582Fixes#11739Fixes#15094Fixes#6840Fixes#10841Fixes#17386Fixes#18340Fixes#16898Fixes#17555Fixes#6858Fixes#9568Fixes#17480Fixes#18523Fixes#18206Fixes#16586Fixes#18106Fixes#16576Fixes#14697Fixes#9607Fixes#19648Fixes#19739Fixes#19652Fixes#18730Fixes#19503Fixes#19498Fixes#19437Fixes#5245Fixes#19150Fixes#18638Fixes#11332Fixes#17901Fixes#19043Fixes#17777Fixes#8237Fixes#15487Fixes#15988Fixes#18621Fixes#16788Fixes#18110Fixes#18382Fixes#17427Fixes#18105Fixes#18287Fixes#19808Fixes#14655
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Cypress
- Jest
- Manual
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
---------
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
## Description
In order to improve the first load of the applications, now we're only
rendering the widget components that are [above the
fold](https://en.wikipedia.org/wiki/Above_the_fold#In_web_design) right
away and rendering the other widget components whenever the browser is
idle. This decreases the amount of time it takes before the first paint
on the screen.
This is getting shipped behind a feature flag!
## Description
This PR adds one of the promised updates to the auto height feature.
More specifically, we wanted to add was the ability to see the
containers change height as we drag and drop widgets within them instead
of after dropping (when auto height is enabled)
This PR does that.
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
This PR includes changes for renaming design system package. Since we
are building new package for the refactored design system components,
the old package is renaming to design-system-old.
Fixes#19536
## Type of change
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
## Description
We need to upgrade `styled-components`, so that it will become easy to
upgrade to version 6.0 when it is out. This is because, v6.0 has an
important functionality which isn't available in today's version.
### Tasks completed
- Update Styled components to latest version.
- Prepare codebase by cleaning up the styled components functions that
will be deprecated in version 6
- We are still using the `withTheme` HOC, we should instead use the
`useTheme` hook (best practices)
- Remove the `AnyStyledComponent` type it is un-necessary and will be
deprecated
Fixes#19463
## Type of change
- Non breaking change. The application should work as before and should
not effect any visual elements or UI.
## How Has This Been Tested?
- Manual @appsmithorg/qa please refer to the test plan for areas of
interest.
- Cypress: All existing test cases must pass.
### Test Plan
- We need to do a sanity check on the Product Updates Modal, Release
section.
- We also need to do a sanity check on the Login, Signup, ResetPassword
pages.
- I think we can merge this Pull Request and continue with our weekly
regression, because there are no style changes in this Pull Request,
everything should work as expected.
## Checklist:
### Dev activity
- [ ] 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
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
* Delete CommonComponentProps, Classes, import them from design-system
* Delete Icon.test.tsx
* Remove color utils, add import from design-system
* Remove Variant, add import from design-system
* Remove unused toast parameters from common
* use design-system version 28-alpha-7
* Move ThemeProp from ads/common to widgets/constants
* fix import
* Delete index.ts
* feat: migrated form group from ads folder to design system repository (#17400)
* feat: migrated form group from ads folder to design system repo
* fix: formGroup label color fix
* DS version updated
* Updated Label Config
* chore: Flapdoodle version upgrade to 3.5.0 (#17609)
* chore: code split tenant API CE (#17596)
## Description
We shouldn't expose tenant config on CE , so on CE, we should only return the necessary user permissions hard coded on the saga.
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Manual
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
* chore: BaseAppsmithRepo code split (#17614)
* chore: Updating the tenant API to return the complete object instead of just the configuration (#17615)
* Fix sandbox iframe default setting (#17618)
* feat: upgrade hooks | audit logs (#17525)
* feat: Text Widget Reskinning (#17298)
* feat: Use truncate button color from theme
* fix: Update Truncate Button Color validation regex
* feat: Maintain Focus and Context Phase 1 (#16317)
* fix: update regex and test case for organisation website (#17612)
* chore: Add properties to analytics event (#17621)
* feat: enabled setTimeout/clearTimeout APIs (#17445)
* Update top contributors
* fix: ms sql default port updated to 1433 (#17342)
* fix: removed global style from design system dropdown component (#17392)
* bug: removed global style from design system dropdown component
* changed design system package version
* fix: Dropdown background fix - design system
* design-system - dropdown background color fix
* DS version updated
* chore: Fixing broken client build (#17634)
## Description
EE client build is broken due to not following proper code splitting strategy; one file in particularly didn't get split earlier and changes to that file broke the client build on EE.
This PR fixes the issues.
* Fix/16994 refactor common datatype handling (#17429)
* fix:Add array datatype to execute request
* feat: Consume and store type of array elements in Param class (#16994)
* Append param instead of clientDataType in varargs (#16994)
* Refactor common data type handling w.r.t newer structure (#16994)
This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use
* Remove comma delimited numbers from valid test cases (#16994)
* Fix extracting clientDataType from varargs in MySQL (#16994)
* Pass param as a dedicated parameter in json smart replacement (#16994)
* Remove varargs from json smart replacement method (#16994)
* Move BsonType to mongoplugin module (#16994)
* Introduce NullArrayType and refactor BsonType test cases (#16994)
* Add new test cases on numeric string with leading zero (#16994)
* Refactor test case name (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add comment on the ordering of Json and Bson types (#16994)
* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)
* Add data type test cases for Postgres and change as per review comments (#16994)
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
* feat: Update invite modal submit when we have tabs in modal (#17608)
## Description
> Update invite modal submit when we have tabs in modal.
Fixes [#16741](https://github.com/appsmithorg/appsmith/issues/16741)
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
> Tested it locally.
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] 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
* feat: AST based entity refactor (#17434)
* task: AST based entity refactor
* implemented refactor logic
* jest cases with string manipulation using AST logic
* comments and indentation
* added evalVersion to request
* chore: Added feature flag for datasource environments (#17657)
chore: Added Feature flag for datasource environments
* chore: Corrected analytics event for instance setting events (#17622)
* Update top contributors
* Fix typo in cloud-hosting check and NPE from Segment (#17692)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
* fix: remove file references on click of cancel button (#17664)
* fix: table does not show data issue fixed (#17459)
* chore: Add recommended indexes (#17704)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
* chore: Added workspace details to user invite analytic event (#17644)
## 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
* chore: Correct the toast font on windows (#17671)
* fix: JS option missing for Label Font Style in Input widget (#17631)
* fix: replace time based action to event based (#17586)
* 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
* Updated Label Config
* test: Add cypress tests for template phase 2 (#17036)
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
* Change Segment CDN to our proxy (#17714)
* chore: Fixing prettier formatting for AnalyticsUtil.tsx
* chore: Adding base repository function to add user permissions to generic domain object (#17733)
## 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
* Update top contributors
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
Co-authored-by: Dhruvik Neharia <dhruvik@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Vaibhav Tanwar <40293928+vaibh1297@users.noreply.github.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
Co-authored-by: Keyur Paralkar <keyur@appsmith.com>
Co-authored-by: sneha122 <sneha@appsmith.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: sanjus-robotic-studio <58104863+sanjus-robotic-studio@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
Co-authored-by: Dhruvik Neharia <dhruvik@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Vaibhav Tanwar <40293928+vaibh1297@users.noreply.github.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
Co-authored-by: Keyur Paralkar <keyur@appsmith.com>
Co-authored-by: sneha122 <sneha@appsmith.com>
Co-authored-by: sanjus-robotic-studio <58104863+sanjus-robotic-studio@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
The edition string will only be shown for self hosted instances. This change is being done because Appsmith Cloud doesn't yet support Business edition yet.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
Manual
## 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
## Description
This PR adds the string `Community` along with the Appsmith version. This will help users identify the type of instance that they are running.
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Manually
## 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
* initial commit
* props hoc
* changes
* removed ignores and withWidgetProps
* added extra props to canvasStructure
* widget props changes
* list widget changes
* reintroduced widget props hook and other refactors
* remove warnings
* added deepequal for childWidgets selector
* fix global hotkeys and tabs widget jest test
* fix main container test fix
* fixed view mode width
* fix form widget values
* minor fix
* fix skeleton
* form widget validity fix
* jest test fix
* fixed tests: GlobalHotkeys, Tabs, CanvasSelectectionArena and fixed main container rendering
* minor fix
* minor comments
* reverted commented code
* simplified structure, selective redux state updates and other inconsistencies
* fix junit test cases
* stop form widget from force rendering children
* fix test case
* random commit to re run tests
* update isFormValid prop only if it exists
* detangling circular dependency
* fixing cypress tests
* cleaned up code
* clean up man cnavas props and fix jest cases
* fix rendering order of child widgets for canvas
* fix dropdown reset spec
* adding comments
* cleaning up unwanted code
* fix multiselect widget on deploy
* adressing review comments
* addressing minor review comment changes
* destructuring modal widget child and fix test case
* fix communityIssues cypress spec
* rewrite isVisible logic to match previous behaviour
* merging widget props with component props before checking isVisible
* adressing review comments for modal widget's isVisible
Co-authored-by: rahulramesha <rahul@appsmith.com>
* Remove Dropdown, SearchComponent from this repository
* Change the imports so that SearchComponent and DropdownV2 come from the design system
* Add yalc
* default imports become named imports
* remove the yalc package, add the beta version
* Change import for SearchComponent in TableHeader
* Updated Label Config
* chore: Refactor dependency Map code (#14944)
* feat: Triggerpath dependency (#15015)
* Introduce triggerpathdependency
* Code cleanup and refactor
* add jest test for removeLintErrorsFromEntityProperty
* Add triggerfieldDependencyMap jest tests for datatreeEvaluator
* Add cypress tests
* Revamp linting architecture
* Lint when creating first tree
* Prevent modification of unevaltree while linting
* improve linting performance
* Reuse allkeys for all dependencymap creation
* Add jest test for linttree
* Update jest and cypress tests
* Modify linting folder name
* remove redundant commits
* update evaluation jest tests
* Fix failing test
* Update cypress tests
* Code clean up and performance upgrade
* Update cypress tests
* Use unevalTree as global data for non-trigger field
* Improve global data creation time
* Cypress fixes
* Improve creation of global data for linting
* Only generate global data with functions when needed
* remove all unused variables
* Add overriden commit
* remove lint erros before linting
* fix merge conflicts
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Rishabh Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Added Appsmith Design System Package
* Removed tooltip from ADS folder
* Changed imports for Tooltip
* added alias for the @appsmithorg/design-system
* fix for npm aliasing in jest
* design system package version change to beta 1.0.1-beta.8
* Tooltip Position type changed to PopoverPosition
* design system package updated
* feat: intial investigation.
* Completed focusing of Property title
* removes unused import
* fix issue with inability to focus Dropdown
* checks if PP opened not because of focusing on input elements in widget
* Adds two level of focus for LocationSearch
* adds multi state to KeyValue component
* Adds multi state to Draggable List as well
* Adds multi state to DatePickerControl
* fix: style issue with draggableList & KeyValue comp
* avoids auto focusing on Panel
* remove commentedout code
* fix: cypress tests
* change ActionConstant name
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
* copy paste commit
* class name generator changes
* modal widget fixes change
* addressing review comments
* bug fix for after deleting a widget by undoing action
* additional fix for modal widget
* additional tests for fixes
* Implemented code splitting of some files for SAML integration
* Implemented code splitting of some more files for SAML integration
* updated redirect url component
* fixed an import statement
* fixed a unit test
* updated restart banner tooltip logic
* updated an import statement
* 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>
* 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>
* 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>
* 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
* 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>