PromucFlow_constructor/app/client/src/ce/actions/helpers.ts
Hetu Nandu ac41ad250b
chore: Move entities/IDE/constants (#39064)
## 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>
2025-02-07 16:45:55 +05:30

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,
);
}
};