iconUtil.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = renderSwitcherIcon;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
  10. var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/LoadingOutlined"));
  11. var _FileOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/FileOutlined"));
  12. var _MinusSquareOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/MinusSquareOutlined"));
  13. var _PlusSquareOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/PlusSquareOutlined"));
  14. var _CaretDownFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CaretDownFilled"));
  15. var _propsUtil = require("../../_util/props-util");
  16. function renderSwitcherIcon(prefixCls, switcherIcon, showLine, props) {
  17. var isLeaf = props.isLeaf,
  18. expanded = props.expanded,
  19. loading = props.loading;
  20. var icon = switcherIcon;
  21. if (loading) {
  22. return (0, _vue.createVNode)(_LoadingOutlined.default, {
  23. "class": "".concat(prefixCls, "-switcher-loading-icon")
  24. }, null);
  25. }
  26. var showLeafIcon;
  27. if (showLine && (0, _typeof2.default)(showLine) === 'object') {
  28. showLeafIcon = showLine.showLeafIcon;
  29. }
  30. var defaultIcon = null;
  31. var switcherCls = "".concat(prefixCls, "-switcher-icon");
  32. if (isLeaf) {
  33. if (showLine) {
  34. if ((0, _typeof2.default)(showLine) === 'object' && !showLeafIcon) {
  35. defaultIcon = (0, _vue.createVNode)("span", {
  36. "class": "".concat(prefixCls, "-switcher-leaf-line")
  37. }, null);
  38. } else {
  39. defaultIcon = (0, _vue.createVNode)(_FileOutlined.default, {
  40. "class": "".concat(prefixCls, "-switcher-line-icon")
  41. }, null);
  42. }
  43. }
  44. return defaultIcon;
  45. } else {
  46. defaultIcon = (0, _vue.createVNode)(_CaretDownFilled.default, {
  47. "class": switcherCls
  48. }, null);
  49. if (showLine) {
  50. defaultIcon = expanded ? (0, _vue.createVNode)(_MinusSquareOutlined.default, {
  51. "class": "".concat(prefixCls, "-switcher-line-icon")
  52. }, null) : (0, _vue.createVNode)(_PlusSquareOutlined.default, {
  53. "class": "".concat(prefixCls, "-switcher-line-icon")
  54. }, null);
  55. }
  56. }
  57. if (typeof switcherIcon === 'function') {
  58. icon = switcherIcon((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  59. defaultIcon: defaultIcon,
  60. switcherCls: switcherCls
  61. }));
  62. } else if ((0, _propsUtil.isValidElement)(icon)) {
  63. icon = (0, _vue.cloneVNode)(icon, {
  64. class: switcherCls
  65. });
  66. }
  67. return icon || defaultIcon;
  68. }