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: {
      options,
      rwc: {
        type: 'rwc-dropdown'
      }
    }
  };
  
  const defaultValue = msg.vBind?.defaultValue && options.find(o => o.value === msg.vBind?.defaultValue);

  if (defaultValue) {
    result.props.value = defaultValue;
  }

  const placeholder = msg.vBind?.dropdownPlaceholder;
  if (placeholder) {
    result.props.placeholder = placeholder;
  }

  return result;
};
