PromucFlow_constructor/app/client/src/actions/canvasSelectionActions.ts
Ashok Kumar M 83147afdc5
feat: Widget grouping Extended Features (#6538)
- [x] Draw to select from outside of the editor.
- [x] Cmd + A to select child widgets inside containers, forms, list, tabs, and modals.

Fixes #5995
Fixes #6102
2021-08-24 17:08:20 +05:30

54 lines
1.2 KiB
TypeScript

import { ReduxAction, ReduxActionTypes } from "constants/ReduxActionConstants";
import { SelectedArenaDimensions } from "pages/common/CanvasSelectionArena";
import { XYCord } from "utils/hooks/useCanvasDragging";
export const setCanvasSelectionFromEditor = (
start: boolean,
startPoints?: XYCord,
) => {
return {
type: start
? ReduxActionTypes.START_CANVAS_SELECTION_FROM_EDITOR
: ReduxActionTypes.STOP_CANVAS_SELECTION_FROM_EDITOR,
payload: {
...(start && startPoints ? { startPoints } : {}),
},
};
};
export const setCanvasSelectionStateAction = (
start: boolean,
widgetId: string,
) => {
return {
type: start
? ReduxActionTypes.START_CANVAS_SELECTION
: ReduxActionTypes.STOP_CANVAS_SELECTION,
payload: {
widgetId,
},
};
};
export const selectAllWidgetsInAreaAction = (
selectionArena: SelectedArenaDimensions,
snapToNextColumn: boolean,
snapToNextRow: boolean,
isMultiSelect: boolean,
snapSpaces: {
snapColumnSpace: number;
snapRowSpace: number;
},
): ReduxAction<any> => {
return {
type: ReduxActionTypes.SELECT_WIDGETS_IN_AREA,
payload: {
selectionArena,
snapToNextColumn,
snapToNextRow,
isMultiSelect,
snapSpaces,
},
};
};