PromucFlow_constructor/app/client
Jacques Ikot 641e4192a6
feat: remove isFocus from meta state in InputWidgetV2 (#36843)
## Description

**Problem**
A redundant evaluation cycle is run every time a user focuses on an
InputWidget component and the isFocused meta state is updated

**Root Cause**
`isFocus` property of InputWidgetV2 is a meta property and updated
through `this.updateWidgetMetaProperty`, thereby changes to these
property triggers an evaluation cycle run

**Solution**
Implement the `isFocus` property as a local state of the InputWidgetV2
component


Fixes #36446

## Automation

/ok-to-test tags="@tag.Widget, @tag.Input"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11362334893>
> Commit: 80e9089681456b7b3547cc4781abf719c561d27d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11362334893&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Input`
> Spec:
> <hr>Wed, 16 Oct 2024 10:22:00 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced focus management for the InputWidget, allowing for improved
internal state handling.
- Multi-line text input now supports submitting with keyboard shortcuts
for a more streamlined user experience.

- **Bug Fixes**
- Resolved issues with widget metadata by excluding the `isFocused`
property from the meta properties.
- Improved internal state management for input changes, reducing
reliance on external properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-16 16:01:07 +05:30
..
.husky
.yarn
cypress feat: adding branch persistence (#36622) 2024-10-14 19:04:16 +08:00
docker/templates
generators
packages chore: add soft token + add subtle button variant (#36899) 2024-10-16 15:14:43 +05:30
public chore: Prep work for adding Mixpanel session recording (#36895) 2024-10-16 13:49:09 +05:30
src feat: remove isFocus from meta state in InputWidgetV2 (#36843) 2024-10-16 16:01:07 +05:30
test chore: Update markdown component + create avatar component + refactor (#36832) 2024-10-14 11:20:21 +05:30
typings
.babelrc
.dockerignore
.editorconfig
.eslintrc.base.json chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
.eslintrc.js
.fork-ts-checkerrc
.gitignore
.lintstagedrc.json
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh
craco.build.config.js
craco.common.config.js
craco.dev.config.js
cypress_ci_custom.config.ts chore: change snapshot package (#35867) 2024-09-12 11:09:42 +03:00
cypress_ci_hosted.config.ts chore: change snapshot package (#35867) 2024-09-12 11:09:42 +03:00
cypress_ci.config.ts chore: change snapshot package (#35867) 2024-09-12 11:09:42 +03:00
cypress-add-tags.js
cypress.config.ts chore: change snapshot package (#35867) 2024-09-12 11:09:42 +03:00
download-assets.js
jest.config.js chore: Prep work for adding Mixpanel session recording (#36895) 2024-10-16 13:49:09 +05:30
knip.json fix: removing unused dependencies and explicitly installing used ones (#36573) 2024-09-30 12:28:46 +03:00
package.json chore: Prep work for adding Mixpanel session recording (#36895) 2024-10-16 13:49:09 +05:30
README.md
README.old.md
start-caddy.sh
start-https.sh
tailwind.config.js
tsconfig.json
tsconfig.path.json
vercel.json
yarn.lock chore: Prep work for adding Mixpanel session recording (#36895) 2024-10-16 13:49:09 +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