## Description
This PR adds builds on top of existing slash command menu feature. Today
when we enter JS mode for any of the properties and type in `/` command,
we are able to see the following menu.
<img width="290" alt="Screenshot 2024-03-21 at 1 31 26 PM"
src="https://github.com/appsmithorg/appsmith/assets/30018882/319d5be1-33f7-49e3-9b8d-fd8aa5fa9aed">
With the changes in this PR, now whenever we switch to JS mode for data
property of Table and JSON form widgets, if we focus on the input box,
we should be able to see the menu with options showing up as shown
below:
https://github.com/appsmithorg/appsmith/assets/30018882/30496f3c-615a-4a70-ba05-e0151c6bcdd5
**Limitations**:
- This feature is only implemented for Table and JSON form widgets data
property, based on mixpanel results we can further decide to include it
for all or not.
Fixes#31900
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8386142777>
> Commit: `90bea1f91b3d864c984548b11ec4d3a5bd70b3f7`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8386142777&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
## Summary by CodeRabbit
- **New Features**
- Enhanced the code editor to dynamically show a slash command menu for
certain widgets, improving the user editing experience.
- Introduced logic to selectively enable slash command functionality for
table and JSON widgets, specifically for the `data` property.
- **Enhancements**
- Updated the code editor hint system to support additional context,
including datasource information and feature flags, enriching the
autocomplete and suggestion capabilities.
- **Bug Fixes**
- Fixed an issue where unnecessary bindings were applied to widgets,
ensuring cleaner and more relevant code generation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced `CodeEditor` with advanced properties to support diverse
functionalities including AI assistance and plugin integrations.
- Introduced a function to determine the visibility of the slash command
menu based on widget types.
- Added specific widget properties for table and JSON widgets to enable
focused functionalities.
- Implemented a new feature flag to toggle learnability and ease of
initial use improvements.
- **Tests**
- Added tests for Property Pane Suggestions functionality to ensure
reliable autocomplete features.
- **Chores**
- Improved `PropertyPane` interaction by adding a method for focusing
and asserting auto-save in text fields.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: “sneha122” <“sneha@appsmith.com”>