iconUtil.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { createVNode as _createVNode } from "vue";
  2. import DownOutlined from "@ant-design/icons-vue/es/icons/DownOutlined";
  3. import LoadingOutlined from "@ant-design/icons-vue/es/icons/LoadingOutlined";
  4. import CheckOutlined from "@ant-design/icons-vue/es/icons/CheckOutlined";
  5. import CloseOutlined from "@ant-design/icons-vue/es/icons/CloseOutlined";
  6. import CloseCircleFilled from "@ant-design/icons-vue/es/icons/CloseCircleFilled";
  7. import SearchOutlined from "@ant-design/icons-vue/es/icons/SearchOutlined";
  8. export default function getIcons(props) {
  9. var slots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  10. var loading = props.loading,
  11. multiple = props.multiple,
  12. prefixCls = props.prefixCls;
  13. var suffixIcon = props.suffixIcon || slots.suffixIcon && slots.suffixIcon();
  14. var clearIcon = props.clearIcon || slots.clearIcon && slots.clearIcon();
  15. var menuItemSelectedIcon = props.menuItemSelectedIcon || slots.menuItemSelectedIcon && slots.menuItemSelectedIcon();
  16. var removeIcon = props.removeIcon || slots.removeIcon && slots.removeIcon();
  17. // Clear Icon
  18. var mergedClearIcon = clearIcon;
  19. if (!clearIcon) {
  20. mergedClearIcon = _createVNode(CloseCircleFilled, null, null);
  21. }
  22. // Arrow item icon
  23. var mergedSuffixIcon = null;
  24. if (suffixIcon !== undefined) {
  25. mergedSuffixIcon = suffixIcon;
  26. } else if (loading) {
  27. mergedSuffixIcon = _createVNode(LoadingOutlined, {
  28. "spin": true
  29. }, null);
  30. } else {
  31. var iconCls = "".concat(prefixCls, "-suffix");
  32. mergedSuffixIcon = function mergedSuffixIcon(_ref) {
  33. var open = _ref.open,
  34. showSearch = _ref.showSearch;
  35. if (open && showSearch) {
  36. return _createVNode(SearchOutlined, {
  37. "class": iconCls
  38. }, null);
  39. }
  40. return _createVNode(DownOutlined, {
  41. "class": iconCls
  42. }, null);
  43. };
  44. }
  45. // Checked item icon
  46. var mergedItemIcon = null;
  47. if (menuItemSelectedIcon !== undefined) {
  48. mergedItemIcon = menuItemSelectedIcon;
  49. } else if (multiple) {
  50. mergedItemIcon = _createVNode(CheckOutlined, null, null);
  51. } else {
  52. mergedItemIcon = null;
  53. }
  54. var mergedRemoveIcon = null;
  55. if (removeIcon !== undefined) {
  56. mergedRemoveIcon = removeIcon;
  57. } else {
  58. mergedRemoveIcon = _createVNode(CloseOutlined, null, null);
  59. }
  60. return {
  61. clearIcon: mergedClearIcon,
  62. suffixIcon: mergedSuffixIcon,
  63. itemIcon: mergedItemIcon,
  64. removeIcon: mergedRemoveIcon
  65. };
  66. }