diff --git a/app/client/src/api/ActionAPI.tsx b/app/client/src/api/ActionAPI.tsx index bc7a280b87..6f56308aca 100644 --- a/app/client/src/api/ActionAPI.tsx +++ b/app/client/src/api/ActionAPI.tsx @@ -5,7 +5,7 @@ import { DEFAULT_EXECUTE_ACTION_TIMEOUT_MS, } from "constants/ApiConstants"; import axios, { AxiosPromise, CancelTokenSource } from "axios"; -import { Action } from "entities/Action"; +import { Action, ActionViewMode } from "entities/Action"; export interface CreateActionRequest extends APIRequest { datasourceId: string; @@ -127,7 +127,7 @@ class ActionAPI extends API { static fetchActionsForViewMode( applicationId: string, - ): AxiosPromise> { + ): AxiosPromise> { return API.get(`${ActionAPI.url}/view`, { applicationId }); } diff --git a/app/client/src/entities/Action/index.ts b/app/client/src/entities/Action/index.ts index 636dff8006..42499edabf 100644 --- a/app/client/src/entities/Action/index.ts +++ b/app/client/src/entities/Action/index.ts @@ -108,4 +108,13 @@ export interface QueryAction extends BaseAction { datasource: StoredDatasource; } +export type ActionViewMode = { + id: string; + name: string; + pageId: string; + jsonPathKeys: string[]; + confirmBeforeExecute?: boolean; + timeoutInMillisecond?: number; +}; + export type Action = ApiAction | QueryAction; diff --git a/app/client/src/sagas/ActionSagas.ts b/app/client/src/sagas/ActionSagas.ts index c1a3b5e18d..5bc35771f8 100644 --- a/app/client/src/sagas/ActionSagas.ts +++ b/app/client/src/sagas/ActionSagas.ts @@ -44,7 +44,7 @@ import { } from "selectors/editorSelectors"; import AnalyticsUtil from "utils/AnalyticsUtil"; import { QUERY_CONSTANT } from "constants/QueryEditorConstants"; -import { Action } from "entities/Action"; +import { Action, ActionViewMode } from "entities/Action"; import { ActionData } from "reducers/entityReducers/actionsReducer"; import { getAction, @@ -145,14 +145,22 @@ export function* fetchActionsForViewModeSaga( { mode: "VIEWER", appId: applicationId }, ); try { - const response: GenericApiResponse = yield ActionAPI.fetchActionsForViewMode( + const response: GenericApiResponse = yield ActionAPI.fetchActionsForViewMode( applicationId, ); + const correctFormatResponse = response.data.map((action) => { + return { + ...action, + actionConfiguration: { + timeoutInMillisecond: action.timeoutInMillisecond, + }, + }; + }); const isValidResponse = yield validateResponse(response); if (isValidResponse) { yield put({ type: ReduxActionTypes.FETCH_ACTIONS_VIEW_MODE_SUCCESS, - payload: response.data, + payload: correctFormatResponse, }); PerformanceTracker.stopAsyncTracking( PerformanceTransactionName.FETCH_ACTIONS_API,