2021-06-17 13:26:54 +00:00
|
|
|
import { useDispatch } from "react-redux";
|
|
|
|
|
import { focusWidget } from "actions/widgetActions";
|
|
|
|
|
import {
|
2021-06-28 07:11:47 +00:00
|
|
|
selectMultipleWidgetsAction,
|
2021-06-17 13:26:54 +00:00
|
|
|
selectWidgetInitAction,
|
|
|
|
|
shiftSelectWidgetsEntityExplorerInitAction,
|
|
|
|
|
} from "actions/widgetSelectionActions";
|
|
|
|
|
|
|
|
|
|
import { useCallback } from "react";
|
|
|
|
|
|
|
|
|
|
export const useWidgetSelection = () => {
|
|
|
|
|
const dispatch = useDispatch();
|
|
|
|
|
return {
|
|
|
|
|
selectWidget: useCallback(
|
|
|
|
|
(widgetId?: string, isMultiSelect?: boolean) => {
|
|
|
|
|
dispatch(selectWidgetInitAction(widgetId, isMultiSelect));
|
|
|
|
|
},
|
|
|
|
|
[dispatch],
|
|
|
|
|
),
|
|
|
|
|
shiftSelectWidgetEntityExplorer: useCallback(
|
|
|
|
|
(widgetId: string, siblingWidgets: string[]) => {
|
|
|
|
|
dispatch(
|
|
|
|
|
shiftSelectWidgetsEntityExplorerInitAction(widgetId, siblingWidgets),
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
[dispatch],
|
|
|
|
|
),
|
|
|
|
|
focusWidget: useCallback(
|
|
|
|
|
(widgetId?: string) => dispatch(focusWidget(widgetId)),
|
|
|
|
|
[dispatch],
|
|
|
|
|
),
|
2021-06-28 07:11:47 +00:00
|
|
|
deselectAll: useCallback(() => dispatch(selectMultipleWidgetsAction([])), [
|
2021-06-17 13:26:54 +00:00
|
|
|
dispatch,
|
|
|
|
|
]),
|
|
|
|
|
};
|
|
|
|
|
};
|