qt-public-ui
Version:
新设计规范下业务组件库
55 lines • 2.3 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["data", "value", "onHandleClick", "className"];
import React from 'react';
import { IconSlim as Icon } from '..';
import { Collapse as AntdCollapse, Tooltip } from 'antd';
import classnames from 'classnames';
import { formartBiz } from '../utils';
import './style.less';
var Panel = AntdCollapse.Panel;
var CollapseNav = function CollapseNav(props) {
var data = props.data,
value = props.value,
onHandleClick = props.onHandleClick,
className = props.className,
restProps = _objectWithoutPropertiesLoose(props, _excluded);
return /*#__PURE__*/React.createElement(AntdCollapse, _extends({
className: "umui-collapse-nav",
expandIcon: function expandIcon(panelProps) {
return panelProps.isActive ? /*#__PURE__*/React.createElement(Icon, {
type: "umicon-arrow-up"
}) : /*#__PURE__*/React.createElement(Icon, {
type: "umicon-arrow-down"
});
}
}, restProps), data.map(function (item) {
return /*#__PURE__*/React.createElement(Panel, {
disabled: item.disabled,
header: item.name,
key: item.id,
extra: item.showExtra && /*#__PURE__*/React.createElement("span", null, formartBiz(item.sum))
}, item.content.map(function (d, idx) {
return /*#__PURE__*/React.createElement("div", {
key: idx,
onClick: function onClick() {
return onHandleClick(d, item);
},
className: classnames('umui-panel-content', {
'umui-panel-content-active': value === d.id,
'umui-panel-content-disabled': d.disabled
})
}, d.name.length <= 10 ? /*#__PURE__*/React.createElement("div", {
className: "umui-panel-content-name"
}, d.name) : /*#__PURE__*/React.createElement(Tooltip, {
placement: "top",
title: d.name
}, /*#__PURE__*/React.createElement("div", {
className: "umui-panel-content-name"
}, d.name)), d.showCount && /*#__PURE__*/React.createElement("div", {
className: "umui-panel-content-count"
}, formartBiz(d.count)));
}));
}), props.customRender && props.customRender());
};
export default CollapseNav;