UNPKG

@botonic/plugin-flow-builder

Version:

Use Flow Builder to show your contents

38 lines 1.66 kB
import { __awaiter, __rest } from "tslib"; import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime"; import { BotonicAction, EventAction } from '@botonic/core'; import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking'; import { ContentFieldsBase } from './content-fields-base'; export class FlowBotAction extends ContentFieldsBase { static fromHubtypeCMS(cmsBotAction, cmsApi) { const newBotAction = new FlowBotAction(cmsBotAction.id); newBotAction.code = cmsBotAction.code; newBotAction.payload = cmsApi.createPayloadWithParams(cmsBotAction); newBotAction.followUp = cmsBotAction.follow_up; return newBotAction; } trackFlow(request) { return __awaiter(this, void 0, void 0, function* () { const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, this.id); const eventBotAction = { action: EventAction.BotAction, flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId, flowNodeIsMeaningful: false, payload: this.payload, }; const { action } = eventBotAction, eventArgs = __rest(eventBotAction, ["action"]); yield trackEvent(request, action, eventArgs); }); } doBotAction(request) { request.session._botonic_action = `${BotonicAction.Redirect}:${this.payload}`; } toBotonic() { return _jsx(_Fragment, {}); } } //# sourceMappingURL=flow-bot-action.js.map