index.tsx 2.96 KB
import { QxBaseIcon } from '../qx-base-icon';

export const QxWidgetIcon = ({ widgetName }: { widgetName: string }) => {
  let iconType: string = '';
  switch (widgetName) {
    case 'qxInput':
      iconType = 'icon-field-text';
      break;
    case 'qxNumber':
      iconType = 'icon-field-num';
      break;
    case 'dateTime':
    case 'qxDatetime':
      iconType = 'icon-field-datetime';
      break;
    case 'qxTime':
      iconType = 'icon-field-time';
      break;
    case 'qxSwitch':
      iconType = 'icon-field-boolean';
      break;
    case 'qxSelect':
      iconType = 'icon-field-select';
      break;
    case 'qxMultiSelect':
      iconType = 'icon-field-multi-select';
      break;
    case 'qxMobile':
      iconType = 'icon-field-mobile';
      break;
    case 'qxMoney':
      iconType = 'icon-field-finance';
      break;
    case 'qxEmail':
      iconType = 'icon-field-email';
      break;
    case 'qxPercent':
      iconType = 'icon-field-percent';
      break;
    case 'qxUpload':
      iconType = 'icon-field-file';
      break;
    case 'qxUploadImage':
      iconType = 'icon-field-img';
      break;
    case 'qxAddress':
      iconType = 'icon-field-address';
      break;
    case 'qxRichText':
      iconType = 'icon-field-richtext';
      break;
    case 'qxLocation':
      iconType = 'icon-field-location';
      break;
    case 'orgSelector':
      iconType = 'icon-field-department';
      break;
    case 'userSelector':
      iconType = 'icon-field-user';
      break;
    case 'createdBy':
    case 'created_by':
      iconType = 'icon-field-created-by';
      break;
    case 'createdAt':
    case 'created_at':
      iconType = 'icon-field-created-at';
      break;
    case 'updatedBy':
    case 'updated_by':
      iconType = 'icon-field-updated-by';
      break;
    case 'updatedAt':
    case 'updated_at':
      iconType = 'icon-field-updated-at';
      break;
    case 'qxBizNo':
      iconType = 'icon-field-no';
      break;
    case 'relSelector':
      iconType = 'icon-field-rel';
      break;
    case 'relField':
      iconType = 'icon-field-ref';
      break;
    case 'subform':
    case 'table':
      iconType = 'icon-field-subform';
      break;
    case 'qxTree':
      iconType = 'icon-field-tree';
      break;
    case 'qxFormula':
      iconType = 'icon-field-formula';
      break;
    case 'qxDivider':
      iconType = 'icon-field-divider';
      break;
    case 'qxRemark':
      iconType = 'icon-field-remark';
      break;
    case 'qxEmbed':
      iconType = 'icon-field-embed ';
      break;
    case 'qxTabs':
      iconType = 'icon-editor_tab';
      break;
    case 'qxLayout':
      iconType = 'icon-editor_grid';
      break;
    case 'simple':
      iconType = 'icon-editor_layout';
      break;
    case 'tabC':
      iconType = 'icon-editor_tab';
      break;
    case 'layout':
      iconType = 'icon-editor_grid';
      break;
    default:
      iconType = 'icon-field-text';
      break;
  }
  return <QxBaseIcon type={iconType} />;
};