@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
37 lines (30 loc) • 845 B
text/typescript
import { IGenericOptions, IGenericSelect } from "../../../../generic/types";
import { IRWCAnswerComponent } from "../../../types";
export const transformDropdown = (msg: IRWCAnswerComponent): IGenericSelect => {
const options: Array<IGenericOptions> = msg.vBind?.options.map(op => {
return {
label: op.label,
value: op.value,
key: op.value
};
});
const result: IGenericSelect = {
type: 'select',
props: {
multiple: msg.vBind?.multiple || false,
options,
rwc: {
type: 'rwc-dropdown'
}
}
};
const submitButtonLabel = msg.vBind?.button;
if (submitButtonLabel) {
result.props.rwc.button = submitButtonLabel;
}
const placeholder = msg.vBind?.dropdownPlaceholder;
if (placeholder) {
result.props.placeholder = placeholder;
}
return result;
};