PromucFlow_constructor/app/client/src/sagas/NavigationSagas.ts
2023-08-10 19:25:06 +05:30

27 lines
922 B
TypeScript

import { all, call, takeEvery } from "redux-saga/effects";
import type { ReduxAction } from "@appsmith/constants/ReduxActionConstants";
import { ReduxActionTypes } from "@appsmith/constants/ReduxActionConstants";
import EntityNavigationFactory from "pages/Editor/EntityNavigation/factory";
import type { EntityInfo } from "pages/Editor/EntityNavigation/types";
import log from "loglevel";
import type PaneNavigation from "pages/Editor/EntityNavigation/PaneNavigation";
function* navigateEntitySaga(action: ReduxAction<EntityInfo>) {
try {
const paneNavigation: PaneNavigation = yield call(
EntityNavigationFactory.create,
action.payload,
);
yield call(paneNavigation.init);
yield call(paneNavigation.navigate);
} catch (e) {
log.error(e);
}
}
export default function* navigationSagas() {
yield all([
takeEvery(ReduxActionTypes.NAVIGATE_TO_ENTITY, navigateEntitySaga),
]);
}