PromucFlow_constructor/app/client/src/navigation/FocusEntity.ts

292 lines
7.6 KiB
TypeScript
Raw Normal View History

chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
import type { match } from "react-router";
import { matchPath } from "react-router";
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
import { ADD_PATH, CURL_IMPORT_PAGE_PATH } from "constants/routes";
import { TEMP_DATASOURCE_ID } from "constants/Datasource";
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
import type { IDEType } from "@appsmith/entities/IDE/constants";
import { EditorState, EntityPaths } from "@appsmith/entities/IDE/constants";
import {
getBaseUrlsForIDEType,
getIDETypeByUrl,
} from "@appsmith/entities/IDE/utils";
import { memoize } from "lodash";
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
import { MODULE_TYPE } from "@appsmith/constants/ModuleConstants";
export enum FocusEntity {
API = "API",
CANVAS = "CANVAS",
chore: Add IDE side pane and manage navigation (#28063) ## Description Adds navigation and routing changes for different parts of the app sidebar. Creating a router setup for the side pane and added extra routing conditions for library and settings route for the main pain #### PR fixes following issue(s) Fixes #27958 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/5458275a-d597-4755-8d37-6e20a3386a80 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-10-18 07:14:10 +00:00
DATASOURCE_LIST = "DATASOURCE_LIST",
DATASOURCE = "DATASOURCE",
feat: Error Navigation (#21753) ## 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
2023-04-10 12:59:14 +00:00
DEBUGGER = "DEBUGGER",
QUERY = "QUERY",
QUERY_LIST = "QUERY_LIST",
JS_OBJECT = "JS_OBJECT",
JS_OBJECT_LIST = "JS_OBJECT_LIST",
PROPERTY_PANE = "PROPERTY_PANE",
NONE = "NONE",
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
APP_STATE = "APP_STATE",
LIBRARY = "LIBRARY",
SETTINGS = "SETTINGS",
WIDGET_LIST = "WIDGET_LIST",
fix: Widget Context Switching (#29735) ## Description Fixes context switching issues related to Widget List ensuring it also works for current prod #### PR fixes following issue(s) Fixes #29695 #### 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 - Bug fix (non-breaking change which fixes an issue) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a search functionality to the app. - Integrated a search bar at the top of the `Hero` component and a `Search` component to the `App` component. - Included styles for the search bar in the application. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-20 06:56:16 +00:00
EDITOR = "EDITOR",
QUERY_ADD = "QUERY_ADD",
fix: Context Switching fixes for Copy and Delete (#29841) ## Description Fixes issues related to Segmented Lists around Copy / Delete interactions - It introduces a method to remove any focus history for a url. This is added whenever we delete or move an item to another page - It manages redirects after deleting a JS / Query / Datasource #### PR fixes following issue(s) Fixes #29697 Fixes #29694 Fixes #29700 Fixes #29699 #### Type of change - Bug fix (non-breaking change which fixes an issue) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Implemented new redirect logic after deleting JavaScript collections, actions, and datasources to enhance user experience. - Added custom routing for JavaScript collection creation and management. - **Enhancements** - Updated focus history handling to improve navigation and entity tracking within the app. - **Bug Fixes** - Fixed entity identification logic in test paths to ensure accurate testing scenarios. - **Refactor** - Centralized datasource grouping logic for better maintainability and performance. - Optimized widget deletion process to handle multiple widgets efficiently. - **Documentation** - No user-facing documentation updates in this release. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-27 08:47:35 +00:00
DATASOURCE_CREATE = "DATASOURCE_CREATE",
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
QUERY_MODULE_INSTANCE = "QUERY_MODULE_INSTANCE",
JS_MODULE_INSTANCE = "JS_MODULE_INSTANCE",
JS_OBJECT_ADD = "JS_OBJECT_ADD",
}
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
export const FocusStoreHierarchy: Partial<Record<FocusEntity, FocusEntity>> = {
fix: Widget Context Switching (#29735) ## Description Fixes context switching issues related to Widget List ensuring it also works for current prod #### PR fixes following issue(s) Fixes #29695 #### 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 - Bug fix (non-breaking change which fixes an issue) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a search functionality to the app. - Integrated a search bar at the top of the `Hero` component and a `Search` component to the `App` component. - Included styles for the search bar in the application. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-20 06:56:16 +00:00
[FocusEntity.PROPERTY_PANE]: FocusEntity.WIDGET_LIST,
chore: Add IDE side pane and manage navigation (#28063) ## Description Adds navigation and routing changes for different parts of the app sidebar. Creating a router setup for the side pane and added extra routing conditions for library and settings route for the main pain #### PR fixes following issue(s) Fixes #27958 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/5458275a-d597-4755-8d37-6e20a3386a80 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-10-18 07:14:10 +00:00
[FocusEntity.DATASOURCE]: FocusEntity.DATASOURCE_LIST,
[FocusEntity.JS_OBJECT]: FocusEntity.JS_OBJECT_LIST,
[FocusEntity.JS_MODULE_INSTANCE]: FocusEntity.JS_OBJECT_LIST,
[FocusEntity.QUERY]: FocusEntity.QUERY_LIST,
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
[FocusEntity.QUERY_MODULE_INSTANCE]: FocusEntity.QUERY_LIST,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
};
export interface FocusEntityInfo {
entity: FocusEntity;
id: string;
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState;
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: MatchEntityFromPath;
}
const getMatchPaths = memoize((type: IDEType): string[] => {
const basePaths = getBaseUrlsForIDEType(type);
return EntityPaths.reduce((previousValue, currentValue) => {
const toAdd = basePaths.map((b) => b + currentValue);
return previousValue.concat(...toAdd);
}, [] as string[]).concat(basePaths);
});
export interface MatchEntityFromPath {
applicationId?: string;
customSlug?: string;
applicationSlug?: string;
packageId?: string;
moduleId?: string;
workflowId?: string;
pageSlug?: string;
apiId?: string;
datasourceId?: string;
pluginPackageName?: string;
queryId?: string;
appId?: string;
pageId?: string;
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
collectionId?: string;
widgetIds?: string;
selectedTab?: string;
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
moduleType?: string;
moduleInstanceId?: string;
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
entity?: string;
}
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
export function matchEntityFromPath(
path: string,
): match<MatchEntityFromPath> | null {
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
const ideType = getIDETypeByUrl(path);
const matchPaths = getMatchPaths(ideType);
return matchPath(path, {
path: matchPaths,
exact: true,
});
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
}
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
const getQueryAddPathObj = (match: match<MatchEntityFromPath>) => {
return {
entity: FocusEntity.QUERY_ADD,
id: "",
appState: EditorState.EDITOR,
params: match.params,
};
};
const getJSAddPathObj = (match: match<MatchEntityFromPath>) => {
return {
entity: FocusEntity.JS_OBJECT_ADD,
id: "",
appState: EditorState.EDITOR,
params: match.params,
};
};
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
export function identifyEntityFromPath(path: string): FocusEntityInfo {
const match = matchEntityFromPath(path);
if (!match) {
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
return {
entity: FocusEntity.NONE,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
}
if (match.params.apiId) {
if (match.params.pluginPackageName) {
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.url.endsWith(ADD_PATH)) {
return getQueryAddPathObj(match);
}
return {
entity: FocusEntity.QUERY,
id: match.params.apiId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.url.endsWith(ADD_PATH)) {
return getQueryAddPathObj(match);
}
return {
entity: FocusEntity.QUERY,
id: match.params.apiId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
if (match.params.datasourceId) {
if (match.params.datasourceId == TEMP_DATASOURCE_ID) {
return {
entity: FocusEntity.NONE,
id: match.params.datasourceId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
} else {
return {
entity: FocusEntity.DATASOURCE,
id: match.params.datasourceId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
}
}
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
if (match.params.selectedTab) {
return {
fix: Context Switching fixes for Copy and Delete (#29841) ## Description Fixes issues related to Segmented Lists around Copy / Delete interactions - It introduces a method to remove any focus history for a url. This is added whenever we delete or move an item to another page - It manages redirects after deleting a JS / Query / Datasource #### PR fixes following issue(s) Fixes #29697 Fixes #29694 Fixes #29700 Fixes #29699 #### Type of change - Bug fix (non-breaking change which fixes an issue) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Implemented new redirect logic after deleting JavaScript collections, actions, and datasources to enhance user experience. - Added custom routing for JavaScript collection creation and management. - **Enhancements** - Updated focus history handling to improve navigation and entity tracking within the app. - **Bug Fixes** - Fixed entity identification logic in test paths to ensure accurate testing scenarios. - **Refactor** - Centralized datasource grouping logic for better maintainability and performance. - Optimized widget deletion process to handle multiple widgets efficiently. - **Documentation** - No user-facing documentation updates in this release. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-27 08:47:35 +00:00
entity: FocusEntity.DATASOURCE_CREATE,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
id: match.params.selectedTab,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
};
}
chore: Add IDE side pane and manage navigation (#28063) ## Description Adds navigation and routing changes for different parts of the app sidebar. Creating a router setup for the side pane and added extra routing conditions for library and settings route for the main pain #### PR fixes following issue(s) Fixes #27958 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/5458275a-d597-4755-8d37-6e20a3386a80 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-10-18 07:14:10 +00:00
if (match.params.entity === "datasource") {
return {
entity: FocusEntity.DATASOURCE_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
chore: Add IDE side pane and manage navigation (#28063) ## Description Adds navigation and routing changes for different parts of the app sidebar. Creating a router setup for the side pane and added extra routing conditions for library and settings route for the main pain #### PR fixes following issue(s) Fixes #27958 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/5458275a-d597-4755-8d37-6e20a3386a80 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-10-18 07:14:10 +00:00
};
}
if (match.params.queryId) {
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.params.queryId == "add" || match.url.endsWith(ADD_PATH)) {
return getQueryAddPathObj(match);
}
return {
entity: FocusEntity.QUERY,
id: match.params.queryId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
if (match.params.moduleType && match.params.moduleInstanceId) {
if (match.params.moduleType === MODULE_TYPE.QUERY) {
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.url.endsWith(ADD_PATH)) {
return getQueryAddPathObj(match);
}
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
return {
entity: FocusEntity.QUERY_MODULE_INSTANCE,
id: match.params.moduleInstanceId,
appState: EditorState.EDITOR,
params: match.params,
};
}
if (match.params.moduleType === MODULE_TYPE.JS) {
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.url.endsWith(ADD_PATH)) {
return getJSAddPathObj(match);
}
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
return {
entity: FocusEntity.JS_MODULE_INSTANCE,
id: match.params.moduleInstanceId,
appState: EditorState.EDITOR,
params: match.params,
};
}
}
if (match.params.collectionId) {
feat: Changed add button to toggle button in left pane (#31523) ## Description Changes add button in left pane to toggle button. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/31522 #### 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 - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] JUnit - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved entity identification in navigation based on URL path and query parameters. - **Refactor** - Updated the editor tabs to use `ToggleButton` for enhanced user interaction. - **Bug Fixes** - Modified logic in hooks for creating a new JS collection to handle segment mode appropriately. - Adjusted URL generation logic in the `useQueryAdd` hook for better functionality. - Enhanced conditions in the `identifyEntityFromPath` function to identify entities based on URL path endings and query ID values. - **Tests** - Updated test setup for the `JS Segment` component to include specific `pathname` for `useLocation` mocking. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-07 12:26:58 +00:00
if (match.params.collectionId == "add" || match.url.endsWith(ADD_PATH)) {
return getJSAddPathObj(match);
chore: Split files for Module Instances in IDE (#30562) As part of updating the IDE IA Redesign, we are splitting certain functionalities so that they can be extended on the EE side. Summary of changes: - Create a `WithAddView` interface in RouteBuilder to indicate a scenario where the url can be suffixed with a `/add` to have edit and add views together - Create a common GroupedList component - Adds a dummy JS Add screen and routes. Wont navigate to it via the system - Move `EntityItem` interface to a more common location for extensibility - Update FocusElement config type to allow for a limited targeting in FocusStrategy - Extracted out ListItem render components for JS and Query - Moved JS and Query segment hooks to a CE location for extensibility of AddQuery and ListQuery - Extracted EditorPaneRoutes for extensibility - Added FocusEntity entries for QueryModuleInstance and JSModuleInstance. This will be cleaned up at a later date. Companion EE PR: https://github.com/appsmithorg/appsmith-ee/pull/3389 Fixes: #30544 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interface for adding views to enhance URL generation for different editor functions. - Added new user-facing messages for creating blank JavaScript objects in the editor. - Implemented new hooks and components to manage and render JavaScript and Query entities within the IDE. - Created a grouped list component for categorizing items within the editor pane. - **Enhancements** - Extended existing enums and utilities to support new module instance types and actions. - Improved navigation and focus management within the IDE based on user interaction and context. - Streamlined the process of adding JavaScript operations and queries in the editor. - **Refactor** - Updated import paths for better code organization and module resolution. - Removed redundant code and replaced components with more efficient implementations. - **Bug Fixes** - Corrected the behavior of the `Files` component to handle undefined types appropriately. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-24 08:52:40 +00:00
}
return {
entity: FocusEntity.JS_OBJECT,
id: match.params.collectionId,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
if (match.params.widgetIds) {
return {
entity: FocusEntity.PROPERTY_PANE,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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 - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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 - [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 --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
id: match.params.widgetIds,
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
if (match.params.entity === "widgets") {
return {
entity: FocusEntity.WIDGET_LIST,
id: "",
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
if (match.params.entity === "queries") {
return {
entity: FocusEntity.QUERY_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
if (match.params.entity === "jsObjects") {
return {
entity: FocusEntity.JS_OBJECT_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
};
}
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
if (match.params.entity) {
if (match.params.entity === "libraries") {
return {
entity: FocusEntity.LIBRARY,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.LIBRARIES,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
}
if (match.params.entity === "settings") {
return {
entity: FocusEntity.SETTINGS,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.SETTINGS,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
}
}
feat: added add button for queries and js sections (#29356) ## Description This PR added the add new button for queries and JS sections. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/29082 #### Media https://github.com/appsmithorg/appsmith/assets/87797149/8bce820a-b383-4ca9-80af-03b3b49d6483 #### Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] Jest - [ ] Cypress #### Test Plan #### Issues raised during DP testing ## 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 - [x] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new routing paths for API and queries editors. - Introduced sections for JavaScript and queries in the pages pane. - Implemented support for a new `CURL` plugin type. - Expanded analytics to include events from the pages pane. - **Enhancements** - Improved entity identification logic for new editor paths. - Enhanced focus handling for different entity types. - **Bug Fixes** - Corrected routing logic to accommodate new editor paths. - **Refactor** - Refactored `QueriesSection` component for better rendering logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Hetu Nandu <hetu@appsmith.com>
2023-12-08 09:15:21 +00:00
if (
match.url.endsWith(CURL_IMPORT_PAGE_PATH) ||
match.url.endsWith(CURL_IMPORT_PAGE_PATH + ADD_PATH)
) {
return {
entity: FocusEntity.QUERY,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
id: "curl",
feat: added add button for queries and js sections (#29356) ## Description This PR added the add new button for queries and JS sections. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/29082 #### Media https://github.com/appsmithorg/appsmith/assets/87797149/8bce820a-b383-4ca9-80af-03b3b49d6483 #### Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] Jest - [ ] Cypress #### Test Plan #### Issues raised during DP testing ## 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 - [x] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new routing paths for API and queries editors. - Introduced sections for JavaScript and queries in the pages pane. - Implemented support for a new `CURL` plugin type. - Expanded analytics to include events from the pages pane. - **Enhancements** - Improved entity identification logic for new editor paths. - Enhanced focus handling for different entity types. - **Bug Fixes** - Corrected routing logic to accommodate new editor paths. - **Refactor** - Refactored `QueriesSection` component for better rendering logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Hetu Nandu <hetu@appsmith.com>
2023-12-08 09:15:21 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
feat: added add button for queries and js sections (#29356) ## Description This PR added the add new button for queries and JS sections. #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/29082 #### Media https://github.com/appsmithorg/appsmith/assets/87797149/8bce820a-b383-4ca9-80af-03b3b49d6483 #### Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] Jest - [ ] Cypress #### Test Plan #### Issues raised during DP testing ## 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 - [x] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new routing paths for API and queries editors. - Introduced sections for JavaScript and queries in the pages pane. - Implemented support for a new `CURL` plugin type. - Expanded analytics to include events from the pages pane. - **Enhancements** - Improved entity identification logic for new editor paths. - Enhanced focus handling for different entity types. - **Bug Fixes** - Corrected routing logic to accommodate new editor paths. - **Refactor** - Refactored `QueriesSection` component for better rendering logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Hetu Nandu <hetu@appsmith.com>
2023-12-08 09:15:21 +00:00
};
}
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
return {
entity: FocusEntity.CANVAS,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] 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 - [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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: match.params,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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 - [ ] 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: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-11-20 07:58:08 +00:00
};
}