PromucFlow_constructor/app/client
Hetu Nandu c28bea180c
fix: Selected Widget Visibility (#21317)
## Description

### Part 3 of selected widget refactor

As part of context switching and selected widget refactor, we saw that
widgets that are inside modals or tabs and are hidden cannot be switched
to without updating some meta properties. The meta properties are
actually owned by the end user and the developer user would create some
default values for it as well. This becomes a problem soon when the
platform also tries to update it. So as part of this refactor, we will
use the selected widget ancestry (the chain of widgets from the top to
the currently selected widget) to handle if widgets need to be visible
or not. It will also indicate the widgets in the path of selection to
"make way" for the selected widget to be seen.

Media


https://user-images.githubusercontent.com/12022471/224916943-b10e8694-0c95-4157-bb93-288d7c0bf60a.mov

- This works on any number of levels of hirarchy
- The logic is supposed to handled by each widget that can potentially
hide other widgets inside it
- Improves some platform perf as the handing so widget meta is not done
by the platform anymore

Affected widgets:
- Modal Widget
- Tabs Widget

> tl;dr: Update the platform's way to show widgets that can be hidden.
Makes sure a selected widget is always shown.

Fixes #1282
Resolves #18173


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual
- Cypress

### Test Plan
> Test case link:-
[#2202](https://github.com/appsmithorg/TestSmith/issues/2202)

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity:-
https://github.com/appsmithorg/appsmith/issues/1282#issuecomment-1472204952


## 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
- [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
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-23 11:13:07 +05:30
..
cypress fix: Selected Widget Visibility (#21317) 2023-03-23 11:13:07 +05:30
docker fix: Revert container-internal communication when using IPv6 (#21260) 2023-03-08 21:03:46 +05:30
generators chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
packages chore: Generate tokens.json for figma (#21432) 2023-03-17 13:26:53 +05:30
patches fix: patches blueprint's popover (#12213) 2022-03-31 13:27:06 +05:30
perf ci: run fat container docker inside perf tests and update setup-perf-test workflow to use localhost for accessing dev environment (#20280) 2023-02-07 15:56:41 +05:30
public test: Cypress - Automated basic tests for MsSQL DS (#21446) 2023-03-16 23:58:32 +05:30
src fix: Selected Widget Visibility (#21317) 2023-03-23 11:13:07 +05:30
test fix: Improving performance of JS evaluations by splitting the data tree (#21547) 2023-03-20 16:34:02 +05:30
typings feat: peek overlay (#20053) 2023-02-17 21:33:34 +05:30
.babelrc chore: Yarn workspaces + Storybook + WDS (#20776) 2023-03-03 12:17:35 +05:30
.dockerignore
.editorconfig
.eslintrc.json chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
.flowconfig
.gitignore chore: Add cypress.env.json to gitIgnore (#21413) 2023-03-16 10:14:32 +05:30
.huskyrc
.lintstagedrc feat: upgrade client npm packages. (#14858) 2022-06-30 16:59:09 +05:30
.nvmrc chore: Update node version to 16.15.0 LTS (#14094) 2022-05-26 16:05:02 +05:30
.prettierignore ci: Add lint check to the build step (#21442) 2023-03-20 22:50:44 +05:30
.prettierrc chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
.sentryclirc
build.sh ci: storybook build and deploy for appsmith wds (#21433) 2023-03-21 10:36:40 +05:30
craco.build.config.js feat: Automatic height updates for widgets based on contents (Auto Height) (#18341) 2022-11-23 15:18:23 +05:30
craco.common.config.js chore: Yarn workspaces + Storybook + WDS (#20776) 2023-03-03 12:17:35 +05:30
craco.dev.config.js chore: updated dependencies removed unused dependencies. (#19441) 2023-01-06 19:12:03 +05:30
cypress_ci.json test: Cypress Flaky fixes + Mock api update + PgAdminspec fix (#20032) 2023-02-02 13:29:24 +05:30
cypress.json test: Cypress Flaky fixes + Mock api update + PgAdminspec fix (#20032) 2023-02-02 13:29:24 +05:30
Dockerfile feat: Support running NGINX for development without Docker (#16667) 2022-09-14 09:58:31 +05:30
index.tsx
jest.config.js fix: Remove extra event and old disable var (#20624) 2023-02-15 19:16:04 +05:30
package.json ci: Add lint check to the build step (#21442) 2023-03-20 22:50:44 +05:30
postcss.config.js feat: upgrade to create react app 5 (#14000) 2022-06-21 19:27:34 +05:30
README.md ci: Modularizing the Github actions workflow for maintainability (#16505) 2022-09-09 01:08:55 +05:30
README.old.md
start-https.sh fix: Revert container-internal communication when using IPv6 (#21260) 2023-03-08 21:03:46 +05:30
stats.json
tailwind.config.js chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
tsconfig.json chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
tsconfig.path.json
vercel.json
yarn.lock chore: Generate tokens.json for figma (#21432) 2023-03-17 13:26:53 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide