shineout
Version:
Shein 前端组件库
103 lines (81 loc) • 3.7 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _styles = require("./styles");
var _icons = _interopRequireDefault(require("../icons"));
var _RemoveConfirm = _interopRequireDefault(require("./RemoveConfirm"));
var _classname = require("../utils/classname");
var DefaultProps = {
renderResult: function renderResult(a) {
return a;
},
recoverAble: false
};
var Result =
/*#__PURE__*/
function (_PureComponent) {
(0, _inheritsLoose2.default)(Result, _PureComponent);
function Result(props) {
var _this;
_this = _PureComponent.call(this, props) || this;
_this.state = {
confirm: false
};
_this.handleRemove = _this.handleRemove.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
_this.handleRecover = _this.handleRecover.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
_this.handleConfirmChange = _this.handleConfirmChange.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
return _this;
}
var _proto = Result.prototype;
_proto.handleRemove = function handleRemove() {
if (this.props.onRemove) this.props.onRemove(this.props.index);
};
_proto.handleRecover = function handleRecover() {
var _this$props = this.props,
onRecover = _this$props.onRecover,
value = _this$props.value,
index = _this$props.index;
if (onRecover) onRecover(index, value);
};
_proto.handleConfirmChange = function handleConfirmChange(confirm) {
this.setState({
confirm: confirm
});
};
_proto.render = function render() {
var confirm = this.state.confirm;
var _this$props2 = this.props,
_this$props2$renderRe = _this$props2.renderResult,
renderResult = _this$props2$renderRe === void 0 ? DefaultProps.renderResult : _this$props2$renderRe,
value = _this$props2.value,
recoverAble = _this$props2.recoverAble,
showRecover = _this$props2.showRecover,
removeConfirm = _this$props2.removeConfirm;
var className = (0, _styles.uploadClass)('view-value', recoverAble && 'to-be-delete', confirm && 'view-active');
return _react.default.createElement("div", {
className: className
}, _react.default.createElement("div", {
className: (0, _styles.uploadClass)((0, _classname.getDirectionClass)('text'))
}, renderResult(value)), this.props.onRemove && _react.default.createElement("a", {
className: (0, _styles.uploadClass)('delete'),
onClick: removeConfirm ? undefined : this.handleRemove
}, _icons.default.Close, _react.default.createElement(_RemoveConfirm.default, {
onVisibleChange: this.handleConfirmChange,
confirm: removeConfirm,
onRemove: this.handleRemove
})), showRecover && _react.default.createElement("a", {
className: (0, _styles.uploadClass)('recover'),
onClick: this.handleRecover
}, _icons.default.Recovery));
};
return Result;
}(_react.PureComponent);
(0, _defineProperty2.default)(Result, "defaultProps", DefaultProps);
var _default = Result;
exports.default = _default;