We were using the AppState incorrectly in our selectors. We should use `DefaultRootState` from react-redux. /ok-to-test tags="@tag.Sanity" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Updated state parameter types in numerous selectors and hooks across the application from a custom application state type to a standard Redux root state type, enhancing type consistency and maintainability without impacting functionality or user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/14771101257> > Commit: 48aef24d9a54ee63d06943128f7545ba0d461172 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14771101257&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 01 May 2025 07:16:33 UTC <!-- end of auto-generated comment: Cypress test results -->
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import type { DefaultRootState } from "react-redux";
|
|
import { createSelector } from "reselect";
|
|
import { getIsAppSettingsPaneWithNavigationTabOpen } from "./appSettingsPaneSelectors";
|
|
import { snipingModeSelector } from "./editorSelectors";
|
|
import { getWidgetSelectionBlock } from "./ui";
|
|
import { selectCombinedPreviewMode } from "./gitModSelectors";
|
|
|
|
export const getIsDragging = (state: DefaultRootState) =>
|
|
state.ui.widgetDragResize.isDragging;
|
|
|
|
export const getIsResizing = (state: DefaultRootState) =>
|
|
state.ui.widgetDragResize.isResizing;
|
|
|
|
export const getIsDraggingDisabledInEditor = (state: DefaultRootState) =>
|
|
state.ui.widgetDragResize.isDraggingDisabled;
|
|
|
|
/**
|
|
* getShouldAllowDrag is a Selector that indicates if the widget could be dragged on canvas based on different states
|
|
*/
|
|
export const getShouldAllowDrag = createSelector(
|
|
getIsResizing,
|
|
getIsDragging,
|
|
getIsDraggingDisabledInEditor,
|
|
selectCombinedPreviewMode,
|
|
snipingModeSelector,
|
|
getIsAppSettingsPaneWithNavigationTabOpen,
|
|
getWidgetSelectionBlock,
|
|
(
|
|
isResizing,
|
|
isDragging,
|
|
isDraggingDisabled,
|
|
isPreviewMode,
|
|
isSnipingMode,
|
|
isAppSettingsPaneWithNavigationTabOpen,
|
|
widgetSelectionIsBlocked,
|
|
) => {
|
|
return (
|
|
!isResizing &&
|
|
!isDragging &&
|
|
!isDraggingDisabled &&
|
|
!isSnipingMode &&
|
|
!isPreviewMode &&
|
|
!isAppSettingsPaneWithNavigationTabOpen &&
|
|
!widgetSelectionIsBlocked
|
|
);
|
|
},
|
|
);
|