UNPKG

tinper-bee

Version:

React Components living for enterprise-class pc backend application

1,369 lines (1,024 loc) 292 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("prop-types"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "prop-types", "react-dom"], factory); else { var a = typeof exports === 'object' ? factory(require("react"), require("prop-types"), require("react-dom")) : factory(root["React"], root["PropTypes"], root["ReactDOM"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_3__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 1550); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /***/ }), /***/ 1: /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_1__; /***/ }), /***/ 111: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getWindow; function getWindow(node) { return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false; } module.exports = exports["default"]; /***/ }), /***/ 112: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = camelize; var rHyphen = /-(.)/g; function camelize(string) { return string.replace(rHyphen, function (_, chr) { return chr.toUpperCase(); }); } module.exports = exports["default"]; /***/ }), /***/ 113: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = hyphenateStyleName; var _hyphenate = __webpack_require__(114); var _hyphenate2 = _interopRequireDefault(_hyphenate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var msPattern = /^ms-/; /** * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js */ function hyphenateStyleName(string) { return (0, _hyphenate2.default)(string).replace(msPattern, '-ms-'); } module.exports = exports['default']; /***/ }), /***/ 114: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = hyphenate; var rUpper = /([A-Z])/g; function hyphenate(string) { return string.replace(rUpper, '-$1').toLowerCase(); } module.exports = exports['default']; /***/ }), /***/ 115: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _getComputedStyle; var _camelizeStyle = __webpack_require__(70); var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var rposition = /^(top|right|bottom|left)$/; var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i; function _getComputedStyle(node) { if (!node) throw new TypeError('No Element passed to `getComputedStyle()`'); var doc = node.ownerDocument; return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : { //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72 getPropertyValue: function getPropertyValue(prop) { var style = node.style; prop = (0, _camelizeStyle2.default)(prop); if (prop == 'float') prop = 'styleFloat'; var current = node.currentStyle[prop] || null; if (current == null && style && style[prop]) current = style[prop]; if (rnumnonpx.test(current) && !rposition.test(prop)) { // Remember the original values var left = style.left; var runStyle = node.runtimeStyle; var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out if (rsLeft) runStyle.left = node.currentStyle.left; style.left = prop === 'fontSize' ? '1em' : current; current = style.pixelLeft + 'px'; // Revert the changed values style.left = left; if (rsLeft) runStyle.left = rsLeft; } return current; } }; } module.exports = exports['default']; /***/ }), /***/ 116: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = removeStyle; function removeStyle(node, key) { return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key); } module.exports = exports['default']; /***/ }), /***/ 117: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isTransform; var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i; function isTransform(property) { return !!(property && supportedTransforms.test(property)); } module.exports = exports["default"]; /***/ }), /***/ 1550: /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(1551); /***/ }), /***/ 1551: /***/ (function(module, exports, __webpack_require__) { __webpack_require__(1552); module.exports = __webpack_require__(1553); /***/ }), /***/ 1552: /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ 1553: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _Slider = __webpack_require__(1554); var _Slider2 = _interopRequireDefault(_Slider); var _Range = __webpack_require__(1558); var _Range2 = _interopRequireDefault(_Range); var _Handle = __webpack_require__(923); var _Handle2 = _interopRequireDefault(_Handle); var _createSliderWithTooltip = __webpack_require__(1560); var _createSliderWithTooltip2 = _interopRequireDefault(_createSliderWithTooltip); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } _Slider2["default"].Range = _Range2["default"]; _Slider2["default"].Handle = _Handle2["default"]; _Slider2["default"].createSliderWithTooltip = _createSliderWithTooltip2["default"]; exports["default"] = _Slider2["default"]; module.exports = exports['default']; /***/ }), /***/ 1554: /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(process) { Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _warning = __webpack_require__(27); var _warning2 = _interopRequireDefault(_warning); var _Track = __webpack_require__(988); var _Track2 = _interopRequireDefault(_Track); var _createSlider = __webpack_require__(989); var _createSlider2 = _interopRequireDefault(_createSlider); var _utils = __webpack_require__(924); var utils = _interopRequireWildcard(_utils); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ var Slider = function (_React$Component) { _inherits(Slider, _React$Component); function Slider(props) { _classCallCheck(this, Slider); var _this = _possibleConstructorReturn(this, _React$Component.call(this, props)); _this.onEnd = function () { _this.setState({ dragging: false }); _this.removeDocumentEvents(); _this.props.onAfterChange(_this.getValue()); }; var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min; var value = props.value !== undefined ? props.value : defaultValue; _this.state = { value: _this.trimAlignValue(value), dragging: false }; if (process.env.NODE_ENV !== 'production') { (0, _warning2["default"])(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecate, please use trackStyle instead.'); (0, _warning2["default"])(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecate, please use railStyle instead.'); } return _this; } Slider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { //只有改变value或者min或者max的时候才会再次渲染 if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return; var prevValue = this.state.value; var value = nextProps.value !== undefined ? nextProps.value : prevValue; var nextValue = this.trimAlignValue(value, nextProps); if (nextValue === prevValue) return; this.setState({ value: nextValue }); if (utils.isValueOutOfRange(value, nextProps)) { this.props.onChange(nextValue); } }; Slider.prototype.onChange = function onChange(state) { var props = this.props; var isNotControlled = !('value' in props); if (isNotControlled) { this.setState(state); } //console.log("改变之后的:"+state.value); var changedValue = state.value; props.onChange(changedValue); }; Slider.prototype.onStart = function onStart(position) { //position = getMousePosition 或者 handlePosition //1.getValue:return this.state.value //2.onBeforeChange:输出开始变化之前的状态 //3.calcValueByPos:这个是在createSlider.jsx,超级多的方法混合在一起 //3.1 getSliderStart:slider的top或者left(主持或者水平), pixelOffset = position - this.getSliderStart()得到mouseposition 或者 handlePosition - slider的top(或者left) //3.2 this.calcValue(pixelOffset):目的得到value,跟ratio有关 //3.3 this.trimAlignValue(this.calcValue(pixelOffset)):在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值 //4.onChange:得到改变之后的值,setState{value}的值并且调用props.onChange this.setState({ dragging: true }); var props = this.props; var prevValue = this.getValue(); props.onBeforeChange(prevValue); var value = this.calcValueByPos(position); this.startValue = value; this.startPosition = position; if (value === prevValue) return; this.onChange({ value: value }); }; Slider.prototype.onMove = function onMove(e, position) { utils.pauseEvent(e); var oldValue = this.state.value; var value = this.calcValueByPos(position); if (value === oldValue) return; this.onChange({ value: value }); }; Slider.prototype.onKeyboard = function onKeyboard(e) { var valueMutator = utils.getKeyboardValueMutator(e); if (valueMutator) { utils.pauseEvent(e); var state = this.state; var oldValue = state.value; var mutatedValue = valueMutator(oldValue, this.props); var value = this.trimAlignValue(mutatedValue); if (value === oldValue) return; this.onChange({ value: value }); } }; Slider.prototype.getValue = function getValue() { return this.state.value; }; Slider.prototype.getLowerBound = function getLowerBound() { return this.props.min; }; Slider.prototype.getUpperBound = function getUpperBound() { return this.state.value; }; Slider.prototype.trimAlignValue = function trimAlignValue(v) { var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var mergedProps = _extends({}, this.props, nextProps); var val = utils.ensureValueInRange(v, mergedProps); return utils.ensureValuePrecision(val, mergedProps); }; Slider.prototype.render = function render() { var _this2 = this; var _props = this.props, prefixCls = _props.prefixCls, vertical = _props.vertical, included = _props.included, disabled = _props.disabled, minimumTrackStyle = _props.minimumTrackStyle, trackStyle = _props.trackStyle, handleStyle = _props.handleStyle, min = _props.min, max = _props.max, handleGenerator = _props.handle; var _state = this.state, value = _state.value, dragging = _state.dragging; var offset = this.calcOffset(value); //按照百分制 //hanleGenerator:进入的是createSlider.jsx的 handle({ index, ...restProps }) //{delete restProps.dragging; return <Handle {...restProps} key={index} />;}, var handle = handleGenerator({ className: prefixCls + '-handle', vertical: vertical, offset: offset, value: value, dragging: dragging, disabled: disabled, min: min, max: max, style: handleStyle[0] || handleStyle, ref: function ref(h) { return _this2.saveHandle(0, h); } //当 WrappedComponent 被渲染后,ref 上的回调函数将会执行 }); var _trackStyle = trackStyle[0] || trackStyle; var track = _react2["default"].createElement(_Track2["default"], { className: prefixCls + '-track', vertical: vertical, included: included, offset: 0, length: offset, style: _extends({}, minimumTrackStyle, _trackStyle) }); return { tracks: track, handles: handle }; }; return Slider; }(_react2["default"].Component); Slider.propTypes = { defaultValue: _propTypes2["default"].number, value: _propTypes2["default"].number, disabled: _propTypes2["default"].bool }; exports["default"] = (0, _createSlider2["default"])(Slider); module.exports = exports['default']; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5))) /***/ }), /***/ 1555: /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = addEventListenerWrap; var _addDomEventListener = __webpack_require__(24); var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener); var _reactDom = __webpack_require__(3); var _reactDom2 = _interopRequireDefault(_reactDom); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function addEventListenerWrap(target, eventType, cb) { /* eslint camelcase: 2 */ var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) { _reactDom2['default'].unstable_batchedUpdates(cb, e); } : cb; return (0, _addDomEventListener2['default'])(target, eventType, callback); } module.exports = exports['default']; /***/ }), /***/ 1556: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(4); var _classnames2 = _interopRequireDefault(_classnames); var _warning = __webpack_require__(27); var _warning2 = _interopRequireDefault(_warning); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var calcPoints = function calcPoints(vertical, marks, dots, step, min, max) { (0, _warning2["default"])(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.'); var points = Object.keys(marks).map(parseFloat); if (dots) { for (var i = min; i <= max; i = i + step) { if (points.indexOf(i) >= 0) continue; points.push(i); } } return points; }; var Steps = function Steps(_ref) { var prefixCls = _ref.prefixCls, vertical = _ref.vertical, marks = _ref.marks, dots = _ref.dots, step = _ref.step, included = _ref.included, lowerBound = _ref.lowerBound, upperBound = _ref.upperBound, max = _ref.max, min = _ref.min, dotStyle = _ref.dotStyle, activeDotStyle = _ref.activeDotStyle; var range = max - min; var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) { var _classNames; var offset = Math.abs(point - min) / range * 100 + '%'; var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound; var style = vertical ? _extends({ bottom: offset }, dotStyle) : _extends({ left: offset }, dotStyle); if (isActived) { style = _extends({}, style, activeDotStyle); } var pointClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, prefixCls + '-dot', true), _defineProperty(_classNames, prefixCls + '-dot-active', isActived), _classNames)); return _react2["default"].createElement('span', { className: pointClassName, style: style, key: point }); }); return _react2["default"].createElement( 'div', { className: prefixCls + '-step' }, elements ); }; exports["default"] = Steps; module.exports = exports['default']; /***/ }), /***/ 1557: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _classnames = __webpack_require__(4); var _classnames2 = _interopRequireDefault(_classnames); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ var Marks = function Marks(_ref) { var className = _ref.className, vertical = _ref.vertical, marks = _ref.marks, included = _ref.included, upperBound = _ref.upperBound, lowerBound = _ref.lowerBound, max = _ref.max, min = _ref.min; var marksKeys = Object.keys(marks); var marksCount = marksKeys.length; var unit = marksCount > 1 ? 100 / (marksCount - 1) : 100; var markWidth = unit * 0.9; var range = max - min; var elements = marksKeys.map(parseFloat).sort(function (a, b) { return a - b; }).map(function (point) { var _classNames; var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound; var markClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, className + '-text', true), _defineProperty(_classNames, className + '-text-active', isActive), _classNames)); var bottomStyle = { marginBottom: '-50%', bottom: (point - min) / range * 100 + '%' }; var leftStyle = { width: markWidth + '%', marginLeft: -markWidth / 2 + '%', left: (point - min) / range * 100 + '%' }; var style = vertical ? bottomStyle : leftStyle; var markPoint = marks[point]; var markPointIsObject = (typeof markPoint === 'undefined' ? 'undefined' : _typeof(markPoint)) === 'object' && !_react2["default"].isValidElement(markPoint); var markLabel = markPointIsObject ? markPoint.label : markPoint; var markStyle = markPointIsObject ? _extends({}, style, markPoint.style) : style; return _react2["default"].createElement( 'span', { className: markClassName, style: markStyle, key: point }, markLabel ); }); return _react2["default"].createElement( 'div', { className: className }, elements ); }; exports["default"] = Marks; module.exports = exports['default']; /***/ }), /***/ 1558: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _classnames = __webpack_require__(4); var _classnames2 = _interopRequireDefault(_classnames); var _shallowequal = __webpack_require__(1559); var _shallowequal2 = _interopRequireDefault(_shallowequal); var _warning = __webpack_require__(27); var _warning2 = _interopRequireDefault(_warning); var _Track = __webpack_require__(988); var _Track2 = _interopRequireDefault(_Track); var _createSlider = __webpack_require__(989); var _createSlider2 = _interopRequireDefault(_createSlider); var _utils = __webpack_require__(924); var utils = _interopRequireWildcard(_utils); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ var Range = function (_React$Component) { _inherits(Range, _React$Component); function Range(props) { _classCallCheck(this, Range); var _this = _possibleConstructorReturn(this, _React$Component.call(this, props)); //1.initialValue:初始化,数组值都是min //2.defaultValue,value:接收到的数组,都没有初始化 defaultValue = [0,0] = value ,不然各自等于props中的对应值 //3.trimAlignValue():ensureValueInRange:确定在范围里;ensureValueNotConflict:能否交叉;ensureValuePrecision:返回的小数点精确度 //4.bounds:=value //5.recent:理解成最近操作过的坐标,默认数组最后一个点,但是handle与recent在onstart后一致 _this.onEnd = function () { _this.setState({ handle: null }); _this.removeDocumentEvents(); _this.props.onAfterChange(_this.getValue()); }; var count = props.count, min = props.min, max = props.max; var initialValue = Array.apply(null, Array(count + 1)).map(function () { return min; }); var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue; var value = props.value !== undefined ? props.value : defaultValue; var bounds = value.map(function (v) { return _this.trimAlignValue(v); }); var recent = bounds[0] === max ? 0 : bounds.length - 1; _this.state = { handle: null, recent: recent, bounds: bounds }; return _this; } Range.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { var _this2 = this; if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return; if (this.props.min === nextProps.min && this.props.max === nextProps.max && (0, _shallowequal2["default"])(this.props.value, nextProps.value)) { return; } var bounds = this.state.bounds; var value = nextProps.value || bounds; var nextBounds = value.map(function (v) { return _this2.trimAlignValue(v, nextProps); }); if (nextBounds.length === bounds.length && nextBounds.every(function (v, i) { return v === bounds[i]; })) return; this.setState({ bounds: nextBounds }); if (bounds.some(function (v) { return utils.isValueOutOfRange(v, nextProps); })) { this.props.onChange(nextBounds); } }; Range.prototype.onChange = function onChange(state) { var props = this.props; var isNotControlled = !('value' in props); if (isNotControlled) { this.setState(state); } else if (state.handle !== undefined) { this.setState({ handle: state.handle }); } var data = _extends({}, this.state, state); var changedValue = data.bounds; props.onChange(changedValue); }; Range.prototype.onStart = function onStart(position) { //1.getValue():this.state.bounds //2.calcValueByPos():同slider.js //3.getClosestBound():vs utils.jsx中的getClosestPoints(),返回closestBound为数组坐标 //4.getBoundNeedMoving():一般返回closestBound;特殊情况就是closeBound=0的情况1确实是0,2.两点重合来判断点落在左侧还是右侧 var props = this.props; var state = this.state; var bounds = this.getValue(); props.onBeforeChange(bounds); var value = this.calcValueByPos(position); this.startValue = value; this.startPosition = position; var closestBound = this.getClosestBound(value); var boundNeedMoving = this.getBoundNeedMoving(value, closestBound); this.setState({ handle: boundNeedMoving, recent: boundNeedMoving }); console.log('handle是:' + boundNeedMoving + "recent是:" + boundNeedMoving); var prevValue = bounds[boundNeedMoving]; if (value === prevValue) return; var nextBounds = [].concat(_toConsumableArray(state.bounds)); nextBounds[boundNeedMoving] = value; this.onChange({ bounds: nextBounds }); }; Range.prototype.onMove = function onMove(e, position) { utils.pauseEvent(e); var props = this.props; var state = this.state; var value = this.calcValueByPos(position); var oldValue = state.bounds[state.handle]; if (value === oldValue) return; var nextBounds = [].concat(_toConsumableArray(state.bounds)); nextBounds[state.handle] = value; var nextHandle = state.handle; if (props.pushable !== false) { var originalValue = state.bounds[nextHandle]; this.pushSurroundingHandles(nextBounds, nextHandle, originalValue); } else if (props.allowCross) { nextBounds.sort(function (a, b) { return a - b; }); nextHandle = nextBounds.indexOf(value); } this.onChange({ handle: nextHandle, bounds: nextBounds }); }; Range.prototype.onKeyboard = function onKeyboard() { (0, _warning2["default"])(true, 'Keyboard support is not yet supported for ranges.'); }; Range.prototype.getValue = function getValue() { return this.state.bounds; }; Range.prototype.getClosestBound = function getClosestBound(value) { //注意都是从0开始算,因此handle会重新计算,哪怕当初操作1,再次操作可能会变成0 var bounds = this.state.bounds; var closestBound = 0; for (var i = 1; i < bounds.length - 1; ++i) { if (value > bounds[i]) { closestBound = i; } } if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) { closestBound = closestBound + 1; } return closestBound; }; Range.prototype.getBoundNeedMoving = function getBoundNeedMoving(value, closestBound) { var _state = this.state, bounds = _state.bounds, recent = _state.recent; var boundNeedMoving = closestBound; var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound]; if (isAtTheSamePoint) { boundNeedMoving = recent; } if (isAtTheSamePoint && value !== bounds[closestBound + 1]) { boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1; } return boundNeedMoving; }; Range.prototype.getLowerBound = function getLowerBound() { return this.state.bounds[0]; }; Range.prototype.getUpperBound = function getUpperBound() { var bounds = this.state.bounds; return bounds[bounds.length - 1]; }; /** * Returns an array of possible slider points, taking into account both * `marks` and `step`. The result is cached. */ Range.prototype.getPoints = function getPoints() { var _props = this.props, marks = _props.marks, step = _props.step, min = _props.min, max = _props.max; var cache = this._getPointsCache; if (!cache || cache.marks !== marks || cache.step !== step) { var pointsObject = _extends({}, marks); if (step !== null) { for (var point = min; point <= max; point += step) { pointsObject[point] = point; } } var points = Object.keys(pointsObject).map(parseFloat); points.sort(function (a, b) { return a - b; }); this._getPointsCache = { marks: marks, step: step, points: points }; } return this._getPointsCache.points; }; Range.prototype.pushSurroundingHandles = function pushSurroundingHandles(bounds, handle, originalValue) { var threshold = this.props.pushable; var value = bounds[handle]; var direction = 0; if (bounds[handle + 1] - value < threshold) { direction = +1; // push to right } if (value - bounds[handle - 1] < threshold) { direction = -1; // push to left } if (direction === 0) { return; } var nextHandle = handle + direction; var diffToNext = direction * (bounds[nextHandle] - value); if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) { // revert to original value if pushing is impossible bounds[handle] = originalValue; } }; Range.prototype.pushHandle = function pushHandle(bounds, handle, direction, amount) { var originalValue = bounds[handle]; var currentValue = bounds[handle]; while (direction * (currentValue - originalValue) < amount) { if (!this.pushHandleOnePoint(bounds, handle, direction)) { // can't push handle enough to create the needed `amount` gap, so we // revert its position to the original value bounds[handle] = originalValue; return false; } currentValue = bounds[handle]; } // the handle was pushed enough to create the needed `amount` gap return true; }; Range.prototype.pushHandleOnePoint = function pushHandleOnePoint(bounds, handle, direction) { var points = this.getPoints(); var pointIndex = points.indexOf(bounds[handle]); var nextPointIndex = pointIndex + direction; if (nextPointIndex >= points.length || nextPointIndex < 0) { // reached the minimum or maximum available point, can't push anymore return false; } var nextHandle = handle + direction; var nextValue = points[nextPointIndex]; var threshold = this.props.pushable; var diffToNext = direction * (bounds[nextHandle] - nextValue); if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) { // couldn't push next handle, so we won't push this one either return false; } // push the handle bounds[handle] = nextValue; return true; }; Range.prototype.trimAlignValue = function trimAlignValue(v) { var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var mergedProps = _extends({}, this.props, nextProps); var valInRange = utils.ensureValueInRange(v, mergedProps); var valNotConflict = this.ensureValueNotConflict(valInRange, mergedProps); return utils.ensureValuePrecision(valNotConflict, mergedProps); }; Range.prototype.ensureValueNotConflict = function ensureValueNotConflict(val, _ref) { var allowCross = _ref.allowCross; var state = this.state || {}; var handle = state.handle, bounds = state.bounds; /* eslint-disable eqeqeq */ if (!allowCross && handle != null) { //最右边的点只能执行这个,因为handle=bounds.length-1;中间点也走这个判断 if (handle > 0 && val <= bounds[handle - 1]) { console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle - 1]); return bounds[handle - 1]; } //最左边的点只能执行这个,因为handle=0;中间点也走这个判断 if (handle < bounds.length - 1 && val >= bounds[handle + 1]) { console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle + 1]); return bounds[handle + 1]; } } /* eslint-enable eqeqeq */ return val; }; Range.prototype.render = function render() { var _this3 = this; var _state2 = this.state, handle = _state2.handle, bounds = _state2.bounds; var _props2 = this.props, prefixCls = _props2.prefixCls, vertical = _props2.vertical, included = _props2.included, disabled = _props2.disabled, min = _props2.min, max = _props2.max, handleGenerator = _props2.handle, trackStyle = _props2.trackStyle, handleStyle = _props2.handleStyle; var offsets = bounds.map(function (v) { return _this3.calcOffset(v); }); var handleClassName = prefixCls + '-handle'; var handles = bounds.map(function (v, i) { var _classNames; return handleGenerator({ className: (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, handleClassName, true), _defineProperty(_classNames, handleClassName + '-' + (i + 1), true), _classNames)), vertical: vertical, offset: offsets[i], value: v, dragging: handle === i, index: i, min: min, max: max, disabled: disabled, style: handleStyle[i], ref: function ref(h) { return _this3.saveHandle(i, h); } }); }); var tracks = bounds.slice(0, -1).map(function (_, index) { var _classNames2; var i = index + 1; var trackClassName = (0, _classnames2["default"])((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-track', true), _defineProperty(_classNames2, prefixCls + '-track-' + i, true), _classNames2)); return _react2["default"].createElement(_Track2["default"], { className: trackClassName, vertical: vertical, included: included, offset: offsets[i - 1], length: offsets[i] - offsets[i - 1], style: trackStyle[index], key: i }); }); return { tracks: tracks, handles: handles }; }; return Range; }(_react2["default"].Component); Range.displayName = 'Range'; Range.propTypes = { defaultValue: _propTypes2["default"].arrayOf(_propTypes2["default"].number), value: _propTypes2["default"].arrayOf(_propTypes2["default"].number), disabled: _propTypes2["default"].bool, count: _propTypes2["default"].number, pushable: _propTypes2["default"].oneOfType([_propTypes2["default"].bool, _propTypes2["default"].number]), allowCross: _propTypes2["default"].bool }; Range.defaultProps = { count: 1, allowCross: true, pushable: false }; exports["default"] = (0, _createSlider2["default"])(Range); module.exports = exports['default']; /***/ }), /***/ 1559: /***/ (function(module, exports, __webpack_require__) { "use strict"; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /** * This source code is quoted from rc-slider. * homepage: https://github.com/react-component/slider */ module.exports = function shallowEqual(objA, objB, compare, compareContext) { var ret = compare ? compare.call(compareContext, objA, objB) : void 0; if (ret !== void 0) { return !!ret; } if (objA === objB) { return true; } if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || !objA || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || !objB) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B. for (var idx = 0; idx < keysA.length; idx++) { var key = keysA[idx]; if (!bHasOwnProperty(key)) { return false; } var valueA = objA[key]; var valueB = objB[key]; ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; if (ret === false || ret === void 0 && valueA !== valueB) { return false; } } return true; }; /***/ }), /***/ 1560: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports["default"] = createSliderWithTooltip; var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _beeTooltip = __webpack_require__(1561); var _beeTooltip2 = _interopRequireDefault(_beeTooltip); var _Handle = __webpack_require__(923); var _Handle2 = _interopRequireDefault(_Handle); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expressio