PromucFlow_constructor/app/client/src/actions/autoLayoutActions.ts
Ashit Rath 88d3599bc1
chore: Split canvas widget reducers (#39327)
## Description
Split canvasWidgetsReducer and canvasWidgetsStructureReducer for UI
modules

Fixes https://github.com/appsmithorg/appsmith/issues/39326

## 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/13385385883>
> Commit: ec13bb0625735d4a0c1b918fd785b3a5ea858245
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13385385883&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 18 Feb 2025 08:41:34 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

- **Refactor**
- Streamlined internal dependency management and reorganized module
paths for improved maintainability.
- Updated import paths for `CanvasWidgetsReduxState`,
`FlattenedWidgetProps`, and related types to reflect a new
organizational structure.
- These behind-the-scenes changes do not affect any user-visible
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-18 16:12:05 +05:30

106 lines
2.5 KiB
TypeScript

import { ReduxActionTypes } from "ee/constants/ReduxActionConstants";
import type { LayoutSystemTypes } from "layoutSystems/types";
import type { CanvasWidgetsReduxState } from "ee/reducers/entityReducers/canvasWidgetsReducer";
import type {
CONVERSION_STATES,
SnapshotDetails,
} from "reducers/uiReducers/layoutConversionReducer";
/**
* Calculate size and position changes owing to minSizes and flex wrap.
* This function is triggered the first time mobile viewport (480px) is encountered.
* It is also called when increasing viewport size from mobile to desktop.
*/
export const updateLayoutForMobileBreakpointAction = (
parentId: string,
isMobile: boolean,
canvasWidth: number,
widgets?: CanvasWidgetsReduxState,
) => {
return {
type: ReduxActionTypes.RECALCULATE_COLUMNS,
payload: {
parentId,
isMobile,
canvasWidth,
widgets,
},
};
};
export const updateLayoutSystemType = (layoutSystemType: LayoutSystemTypes) => {
return {
type: ReduxActionTypes.UPDATE_LAYOUT_SYSTEM_TYPE,
payload: layoutSystemType,
};
};
export const setLayoutConversionStateAction = (
conversionState: CONVERSION_STATES,
error?: Error,
) => {
return {
type: ReduxActionTypes.SET_LAYOUT_CONVERSION_STATE,
payload: { conversionState, error },
};
};
export const updateSnapshotDetails = (
snapshotDetails: SnapshotDetails | undefined,
) => {
return {
type: ReduxActionTypes.UPDATE_SNAPSHOT_DETAILS,
payload: snapshotDetails,
};
};
export function updateWidgetDimensionAction(
widgetId: string,
width: number,
height: number,
) {
return {
type: ReduxActionTypes.UPDATE_WIDGET_DIMENSIONS,
payload: {
widgetId,
width,
height,
},
};
}
export const fetchSnapshotDetailsAction = () => {
return {
type: ReduxActionTypes.FETCH_LAYOUT_SNAPSHOT_DETAILS,
};
};
export const setConversionStart = (conversionState: CONVERSION_STATES) => {
return {
type: ReduxActionTypes.START_CONVERSION_FLOW,
payload: conversionState,
};
};
export const setConversionStop = () => {
return {
type: ReduxActionTypes.STOP_CONVERSION_FLOW,
};
};
export const setAutoCanvasResizing = (isAutoCanvasResizing: boolean) => {
return {
type: ReduxActionTypes.SET_AUTO_CANVAS_RESIZING,
payload: isAutoCanvasResizing,
};
};
export const updatePositionsOnTabChange = (
widgetId: string,
selectedTabWidgetId: string,
) => {
return {
type: ReduxActionTypes.UPDATE_POSITIONS_ON_TAB_CHANGE,
payload: { selectedTabWidgetId, widgetId },
};
};