@aliretail/react-materials-components
Version:
156 lines (129 loc) • 7.07 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
var _loading = _interopRequireDefault(require("@alifd/next/lib/loading"));
var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
var _step = _interopRequireDefault(require("@alifd/next/lib/step"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var React = _interopRequireWildcard(require("react"));
var PropTypes = _interopRequireWildcard(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var CheckLogistics = /*#__PURE__*/function (_React$Component) {
(0, _inheritsLoose2["default"])(CheckLogistics, _React$Component);
function CheckLogistics() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
_this.state = {
tabIndex: '0'
};
_this.handleTabChange = function (key) {
var index = key.split('-')[1];
if (index) {
_this.setState({
tabIndex: index
});
}
};
_this.renderDeliveryInfo = function () {
var _delivery$tabIndex, _delivery$tabIndex2, _delivery$tabIndex3, _delivery$tabIndex4, _delivery$tabIndex5;
var delivery = _this.props.delivery;
var tabIndex = _this.state.tabIndex;
var deliveryInfos = ((_delivery$tabIndex = delivery[tabIndex]) === null || _delivery$tabIndex === void 0 ? void 0 : _delivery$tabIndex.deliveryInfos) || ((_delivery$tabIndex2 = delivery[tabIndex]) === null || _delivery$tabIndex2 === void 0 ? void 0 : _delivery$tabIndex2.deliveryInfo);
return /*#__PURE__*/React.createElement("div", {
className: delivery && delivery.length > 1 ? 'packageInfo' : 'packageInfoOrigin'
}, /*#__PURE__*/React.createElement("div", {
className: delivery && delivery.length > 1 ? 'packageCode' : 'packageCodeOrigin'
}, /*#__PURE__*/React.createElement("b", {
className: "state"
}, delivery === null || delivery === void 0 ? void 0 : (_delivery$tabIndex3 = delivery[tabIndex]) === null || _delivery$tabIndex3 === void 0 ? void 0 : _delivery$tabIndex3.deliveryStateDesc), "\xA0\xA0\xA0", /*#__PURE__*/React.createElement("b", null, delivery === null || delivery === void 0 ? void 0 : (_delivery$tabIndex4 = delivery[tabIndex]) === null || _delivery$tabIndex4 === void 0 ? void 0 : _delivery$tabIndex4.type, " : "), /*#__PURE__*/React.createElement("b", null, delivery === null || delivery === void 0 ? void 0 : (_delivery$tabIndex5 = delivery[tabIndex]) === null || _delivery$tabIndex5 === void 0 ? void 0 : _delivery$tabIndex5.deliveryCode)), /*#__PURE__*/React.createElement("div", {
className: delivery.length === 1 ? 'stepLength' : ''
}, /*#__PURE__*/React.createElement(_step["default"], {
direction: "ver",
shape: "dot",
animation: false
}, ' ', Array.isArray(deliveryInfos) && deliveryInfos.map(function (d, key) {
return /*#__PURE__*/React.createElement(_step["default"].Item, {
key: key,
title: d.packageInfo,
content: d.time
});
}))));
};
_this.renderTab = function () {
var delivery = _this.props.delivery;
if ((delivery === null || delivery === void 0 ? void 0 : delivery.length) > 1) {
var tabItem = delivery.map(function (el, key) {
return /*#__PURE__*/React.createElement(_tab["default"].Item, {
className: "tabItem",
onClick: _this.handleTabChange,
title: el.text,
key: el.deliveryCode + "-" + key
});
});
return /*#__PURE__*/React.createElement(_tab["default"], {
className: 'packageTab',
excessMode: "slide"
}, tabItem);
}
};
return _this;
}
var _proto = CheckLogistics.prototype;
_proto.render = function render() {
var _this$props = this.props,
trigger = _this$props.trigger,
triggerType = _this$props.triggerType,
offset = _this$props.offset,
footer = _this$props.footer,
align = _this$props.align,
className = _this$props.className,
onVisibleChange = _this$props.onVisibleChange,
loading = _this$props.loading;
var originLength = (0, _classnames["default"])(className, 'aliretail-ballon');
var changLength = (0, _classnames["default"])(originLength, 'change-length');
return /*#__PURE__*/React.createElement(_balloon["default"], {
className: footer ? originLength : changLength,
autoFocus: true,
trigger: trigger,
align: align,
offset: offset,
triggerType: triggerType,
onVisibleChange: onVisibleChange // followTrigger 在table cell中会被挡住,所以取消followTrigger
,
needAdjust: true
}, /*#__PURE__*/React.createElement(_loading["default"], {
style: {
width: '100%',
height: '100%'
},
visible: loading
}, this.renderTab(), this.renderDeliveryInfo()), footer ? /*#__PURE__*/React.createElement("div", {
className: "footer"
}, footer) : null);
};
return CheckLogistics;
}(React.Component);
CheckLogistics.propTypes = {
delivery: PropTypes.array.isRequired,
onVisibleChange: PropTypes.func,
triggerType: PropTypes.string,
trigger: PropTypes.element,
footer: PropTypes.element,
align: PropTypes.string,
loading: PropTypes.bool
};
CheckLogistics.defaultProps = {
triggerType: 'hover',
onVisibleChange: function onVisibleChange() {},
loading: false,
delivery: []
};
var _default = CheckLogistics;
exports["default"] = _default;