dtd
Version:
根据数梦工场视觉规范打造的组件库,感谢react-components和ant design
1 lines • 5.01 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _defineProperty2=require("babel-runtime/helpers/defineProperty"),_defineProperty3=_interopRequireDefault(_defineProperty2),_classCallCheck2=require("babel-runtime/helpers/classCallCheck"),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require("babel-runtime/helpers/createClass"),_createClass3=_interopRequireDefault(_createClass2),_possibleConstructorReturn2=require("babel-runtime/helpers/possibleConstructorReturn"),_possibleConstructorReturn3=_interopRequireDefault(_possibleConstructorReturn2),_inherits2=require("babel-runtime/helpers/inherits"),_inherits3=_interopRequireDefault(_inherits2),_react=require("react"),React=_interopRequireWildcard(_react),_propTypes=require("prop-types"),PropTypes=_interopRequireWildcard(_propTypes),_Header=require("./Header"),_Header2=_interopRequireDefault(_Header),_Combobox=require("./Combobox"),_Combobox2=_interopRequireDefault(_Combobox),_moment=require("moment"),_moment2=_interopRequireDefault(_moment),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r.default=e,r}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function noop(){}function generateOptions(e,r,o){for(var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1,t=[],s=0;s<e;s+=n)(!r||r.indexOf(s)<0||!o)&&t.push(s);return t}var Panel=function(e){function r(e){(0,_classCallCheck3.default)(this,r);var n=(0,_possibleConstructorReturn3.default)(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e));return n.onChange=function(e){n.setState({value:e}),n.props.onChange(e)},n.onCurrentSelectPanelChange=function(e){n.setState({currentSelectPanel:e})},n.disabledHours=function(){var e=n.props,r=e.use12Hours,o=(0,e.disabledHours)();return r&&Array.isArray(o)&&(o=n.isAM()?o.filter(function(e){return e<12}).map(function(e){return 0===e?12:e}):o.map(function(e){return 12===e?12:e-12})),o},n.state={value:e.value,selectionRange:[]},n}return(0,_inherits3.default)(r,e),(0,_createClass3.default)(r,[{key:"componentWillReceiveProps",value:function(e){var r=e.value;r&&this.setState({value:r})}},{key:"close",value:function(){this.props.onEsc()}},{key:"isAM",value:function(){var e=this.state.value||this.props.defaultOpenValue;return 0<=e.hour()&&e.hour()<12}},{key:"render",value:function(){var e,r=this.props,o=r.prefixCls,n=r.className,t=r.placeholder,s=r.disabledMinutes,a=r.disabledSeconds,l=r.hideDisabledOptions,u=r.allowEmpty,i=r.showHour,p=r.showMinute,c=r.showSecond,d=r.format,f=r.defaultOpenValue,h=r.clearText,_=r.onEsc,b=r.addon,y=r.use12Hours,m=r.onClear,C=r.focusOnOpen,P=r.onKeyDown,O=r.hourStep,T=r.minuteStep,R=r.secondStep,v=r.inputReadOnly,q=this.state,g=q.value,S=q.currentSelectPanel,H=this.disabledHours(),x=s(g?g.hour():null),w=a(g?g.hour():null,g?g.minute():null),D=generateOptions(24,H,l,O),M=generateOptions(60,x,l,T),k=generateOptions(60,w,l,R);return React.createElement("div",{className:(0,_classnames2.default)((e={},(0,_defineProperty3.default)(e,o+"-inner",!0),(0,_defineProperty3.default)(e,""+n,!!n),e))},React.createElement(_Header2.default,{clearText:h,prefixCls:o,defaultOpenValue:f,value:g,currentSelectPanel:S,onEsc:_,format:d,placeholder:t,hourOptions:D,minuteOptions:M,secondOptions:k,disabledHours:this.disabledHours,disabledMinutes:s,disabledSeconds:a,onChange:this.onChange,onClear:m,allowEmpty:u,focusOnOpen:C,onKeyDown:P,inputReadOnly:v}),React.createElement(_Combobox2.default,{prefixCls:o,value:g,defaultOpenValue:f,format:d,onChange:this.onChange,showHour:i,showMinute:p,showSecond:c,hourOptions:D,minuteOptions:M,secondOptions:k,disabledHours:this.disabledHours,disabledMinutes:s,disabledSeconds:a,onCurrentSelectPanelChange:this.onCurrentSelectPanelChange,use12Hours:y,isAM:this.isAM()}),b(this))}}]),r}(React.Component);Panel.propTypes={clearText:PropTypes.string,prefixCls:PropTypes.string,className:PropTypes.string,defaultOpenValue:PropTypes.object,value:PropTypes.object,placeholder:PropTypes.string,format:PropTypes.string,inputReadOnly:PropTypes.bool,disabledHours:PropTypes.func,disabledMinutes:PropTypes.func,disabledSeconds:PropTypes.func,hideDisabledOptions:PropTypes.bool,onChange:PropTypes.func,onEsc:PropTypes.func,allowEmpty:PropTypes.bool,showHour:PropTypes.bool,showMinute:PropTypes.bool,showSecond:PropTypes.bool,onClear:PropTypes.func,use12Hours:PropTypes.bool,hourStep:PropTypes.number,minuteStep:PropTypes.number,secondStep:PropTypes.number,addon:PropTypes.func,focusOnOpen:PropTypes.bool,onKeyDown:PropTypes.func},Panel.defaultProps={prefixCls:"rc-time-picker-panel",onChange:noop,onClear:noop,disabledHours:noop,disabledMinutes:noop,disabledSeconds:noop,defaultOpenValue:(0,_moment2.default)(),use12Hours:!1,addon:noop,onKeyDown:noop,inputReadOnly:!1},exports.default=Panel,module.exports=exports.default;