@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
39 lines (34 loc) • 902 B
text/typescript
import { IGenericCheckbox } from '../../../generic/types';
import { ISlackCheckboxes } from '../../types';
import { convertOptions } from './helpers/convert-options';
import { transformConfirm } from './confirm';
export const transformCheckboxes = ({
action_id,
options,
initial_options,
confirm
}: ISlackCheckboxes): IGenericCheckbox => {
const res: IGenericCheckbox = {
type: 'checkbox',
props: {
variableName: action_id,
multiple: true,
options: convertOptions(options),
slack: {}
}
};
if (initial_options) {
res.props.value = {};
res.props.options?.forEach(op => {
res.props.value[op.name] = initial_options.findIndex(item => item.value === op.name) > -1;
});
}
if (confirm) {
res.props.slack.confirm = transformConfirm(confirm);
}
res.props.web = {
vertical: true,
...res.props.web
};
return res;
};