@botonic/plugin-flow-builder
Version:
Use Flow Builder to show your contents
38 lines • 1.66 kB
JavaScript
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