PromucFlow_constructor/app/client/src/entities/DataTree/dataTreeAction.ts

34 lines
1.1 KiB
TypeScript
Raw Normal View History

import { DynamicPath } from "utils/DynamicBindingUtils";
import { DataTreeAction, ENTITY_TYPE } from "entities/DataTree/dataTreeFactory";
import { ActionData } from "reducers/entityReducers/actionsReducer";
import { getBindingPathsOfAction } from "entities/Action/actionProperties";
export const generateDataTreeAction = (
action: ActionData,
editorConfig: any[],
): DataTreeAction => {
let dynamicBindingPathList: DynamicPath[] = [];
// update paths
if (
action.config.dynamicBindingPathList &&
action.config.dynamicBindingPathList.length
) {
dynamicBindingPathList = action.config.dynamicBindingPathList.map((d) => ({
...d,
key: `config.${d.key}`,
}));
}
return {
run: {},
actionId: action.config.id,
name: action.config.name,
pluginType: action.config.pluginType,
config: action.config.actionConfiguration,
dynamicBindingPathList,
data: action.data ? action.data.body : {},
ENTITY_TYPE: ENTITY_TYPE.ACTION,
isLoading: action.isLoading,
bindingPaths: getBindingPathsOfAction(action.config, editorConfig),
};
};