## Description Remove the IDE constants from the entities folder and move it to the common IDE folder Create separate buttons exports for sidebar buttons Update the button usages Fixes #39050 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/13191919670> > Commit: 5055b6ed0394b5f3fe1450bd7a042eb851fe39ab > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13191919670&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 07 Feb 2025 05:19:56 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced new editor state definitions and enhanced sidebar configurations with conditional messaging for data source availability. - **Refactor** - Reorganized internal module structures and consolidated type definitions to improve maintainability, consistency, and type safety. - **Tests** - Updated test references to align with the new module organization. These changes streamline the codebase and lay the groundwork for future improvements while maintaining the existing end-user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Ankita Kinger <ankita@appsmith.com>
87 lines
2.5 KiB
TypeScript
87 lines
2.5 KiB
TypeScript
import type { EventLocation } from "ee/utils/analyticsUtilTypes";
|
|
import { createNewJSCollection } from "actions/jsPaneActions";
|
|
import {
|
|
ActionParentEntityType,
|
|
type ActionParentEntityTypeInterface,
|
|
} from "ee/entities/Engine/actionHelpers";
|
|
import {
|
|
createNewApiAction,
|
|
createNewQueryAction,
|
|
saveActionName,
|
|
} from "actions/pluginActionActions";
|
|
import { saveJSObjectName } from "actions/jsActionActions";
|
|
import { IDE_TYPE, type IDEType } from "ee/IDE/Interfaces/IDETypes";
|
|
|
|
export const createNewQueryBasedOnParentEntity = (
|
|
entityId: string,
|
|
from: EventLocation,
|
|
dsId: string,
|
|
// Used in EE
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
parentEntityType: ActionParentEntityTypeInterface = ActionParentEntityType.PAGE,
|
|
) => {
|
|
return createNewQueryAction(entityId, from, dsId);
|
|
};
|
|
|
|
export const createNewAPIBasedOnParentEntity = (
|
|
entityId: string,
|
|
from: EventLocation,
|
|
apiType?: string,
|
|
// Used in EE
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
parentEntityType: ActionParentEntityTypeInterface = ActionParentEntityType.PAGE,
|
|
) => {
|
|
return createNewApiAction(entityId, from, apiType);
|
|
};
|
|
|
|
export const createNewJSCollectionBasedOnParentEntity = (
|
|
entityId: string,
|
|
from: EventLocation,
|
|
// Used in EE
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
parentEntityType = ActionParentEntityType.PAGE,
|
|
) => {
|
|
return createNewJSCollection(entityId, from);
|
|
};
|
|
|
|
export const saveActionNameBasedOnIdeType = (
|
|
id: string,
|
|
name: string,
|
|
// Used in EE
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
ideType: IDEType = IDE_TYPE.App,
|
|
) => {
|
|
return saveActionName({ id, name });
|
|
};
|
|
|
|
export const saveJSObjectNameBasedOnIdeType = (
|
|
id: string,
|
|
name: string,
|
|
// Used in EE
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
ideType: IDEType = IDE_TYPE.App,
|
|
) => {
|
|
return saveJSObjectName({ id, name });
|
|
};
|
|
|
|
export const createNewApiActionBasedOnIdeType = (
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
ideType: IDEType,
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
editorId: string,
|
|
parentEntityId: string,
|
|
parentEntityType: ActionParentEntityTypeInterface,
|
|
apiType: string,
|
|
// TODO: Fix this the next time the file is edited
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
): any => {
|
|
if (parentEntityId) {
|
|
return createNewAPIBasedOnParentEntity(
|
|
parentEntityId,
|
|
"API_PANE",
|
|
apiType,
|
|
parentEntityType,
|
|
);
|
|
}
|
|
};
|