import { Tooltip } from 'choerodon-ui/pro/lib/core/enum'; import { TooltipTheme, TooltipPlacement } from '../tooltip'; import { TooltipTarget } from '../configure'; import { getConfig } from '../configure/utils'; export function getUsefulTooltip(target?: TooltipTarget): Tooltip | undefined { switch (target) { case 'table-cell': return getConfig('tableColumnTooltip'); case 'button': return getConfig('buttonTooltip'); case 'select-option': return getConfig('selectOptionTooltip'); case 'label': return getConfig('labelTooltip'); default: } } export function getTooltip(target?: TooltipTarget): Tooltip | undefined { const tooltip = getConfig('tooltip'); if (typeof tooltip === 'function') { return tooltip(target); } return getUsefulTooltip(target) || tooltip; } export function getTooltipTheme(target?: TooltipTarget): TooltipTheme { const tooltipTheme = getConfig('tooltipTheme'); if (typeof tooltipTheme === 'function') { return tooltipTheme(target); } if (target === 'validation') { const validationTooltipTheme = getConfig('validationTooltipTheme'); if (validationTooltipTheme) { return validationTooltipTheme; } } return tooltipTheme; } export function getTooltipPlacement(target?: TooltipTarget): TooltipPlacement | undefined { const tooltipPlacement = getConfig('tooltipPlacement'); if (typeof tooltipPlacement === 'function') { return tooltipPlacement(target); } return tooltipPlacement; }