choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
106 lines (88 loc) • 2.97 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
import _extends from "@babel/runtime/helpers/extends";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _createSuper from "@babel/runtime/helpers/createSuper";
var _excluded = ["dataSet", "onChange"];
import { __decorate } from "tslib";
import React from 'react';
import { observer } from 'mobx-react';
import noop from 'lodash/noop';
import omit from 'lodash/omit';
import Slider from '../../../es/slider';
import { NumberField } from '../number-field/NumberField';
var Range = /*#__PURE__*/function (_NumberField) {
_inherits(Range, _NumberField);
var _super = _createSuper(Range);
function Range() {
_classCallCheck(this, Range);
return _super.apply(this, arguments);
}
_createClass(Range, [{
key: "renderWrapper",
value: function renderWrapper() {
return /*#__PURE__*/React.createElement("label", _extends({
key: "wrapper"
}, omit(this.getWrapperProps(), ['style'])), this.renderTrack());
}
}, {
key: "renderTrack",
value: function renderTrack() {
var _this = this;
var _this$props = this.props,
dataSet = _this$props.dataSet,
_this$props$onChange = _this$props.onChange,
_onChange = _this$props$onChange === void 0 ? noop : _this$props$onChange,
otherProps = _objectWithoutProperties(_this$props, _excluded),
prefixCls = this.prefixCls;
if (this.readOnly) {
otherProps.value = this.value;
}
if (dataSet) {
var props = {};
if (otherProps.name) {
var field = dataSet.getField(otherProps.name);
if (field) {
props = _objectSpread({}, field.getProps());
}
var current = dataSet.current;
if (current) {
props.value = current.get(otherProps.name);
}
}
return /*#__PURE__*/React.createElement(Slider, _extends({
prefixCls: prefixCls
}, otherProps, props, {
onChange: function onChange(value) {
_this.setValue(value);
_onChange(value);
}
}));
}
return /*#__PURE__*/React.createElement(Slider, _extends({
prefixCls: prefixCls
}, otherProps, {
onChange: _onChange
}));
}
}]);
return Range;
}(NumberField);
Range.displayName = 'Range';
Range.defaultProps = _objectSpread(_objectSpread({}, NumberField.defaultProps), {}, {
suffixCls: 'range',
min: 0,
step: 1,
max: 100,
vertical: false,
dots: false,
marks: {},
included: true,
range: false,
tipFormatter: null
});
Range = __decorate([observer], Range);
export default Range;
//# sourceMappingURL=Range.js.map