Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

260 строки
8.8 KiB

  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  8. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  9. var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
  10. var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
  11. var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
  12. var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
  13. var _createClass2 = require('babel-runtime/helpers/createClass');
  14. var _createClass3 = _interopRequireDefault(_createClass2);
  15. var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
  16. var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
  17. var _inherits2 = require('babel-runtime/helpers/inherits');
  18. var _inherits3 = _interopRequireDefault(_inherits2);
  19. var _simpleAssign = require('simple-assign');
  20. var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
  21. var _react = require('react');
  22. var _react2 = _interopRequireDefault(_react);
  23. var _propTypes = require('prop-types');
  24. var _propTypes2 = _interopRequireDefault(_propTypes);
  25. var _reactEventListener = require('react-event-listener');
  26. var _reactEventListener2 = _interopRequireDefault(_reactEventListener);
  27. var _keycode = require('keycode');
  28. var _keycode2 = _interopRequireDefault(_keycode);
  29. var _Calendar = require('./Calendar');
  30. var _Calendar2 = _interopRequireDefault(_Calendar);
  31. var _Dialog = require('../Dialog');
  32. var _Dialog2 = _interopRequireDefault(_Dialog);
  33. var _Popover = require('../Popover/Popover');
  34. var _Popover2 = _interopRequireDefault(_Popover);
  35. var _PopoverAnimationVertical = require('../Popover/PopoverAnimationVertical');
  36. var _PopoverAnimationVertical2 = _interopRequireDefault(_PopoverAnimationVertical);
  37. var _dateUtils = require('./dateUtils');
  38. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  39. var DatePickerDialog = function (_Component) {
  40. (0, _inherits3.default)(DatePickerDialog, _Component);
  41. function DatePickerDialog() {
  42. var _ref;
  43. var _temp, _this, _ret;
  44. (0, _classCallCheck3.default)(this, DatePickerDialog);
  45. for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
  46. args[_key] = arguments[_key];
  47. }
  48. return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = DatePickerDialog.__proto__ || (0, _getPrototypeOf2.default)(DatePickerDialog)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
  49. open: false
  50. }, _this.show = function () {
  51. if (_this.props.onShow && !_this.state.open) {
  52. _this.props.onShow();
  53. }
  54. _this.setState({
  55. open: true
  56. });
  57. }, _this.dismiss = function () {
  58. if (_this.props.onDismiss && _this.state.open) {
  59. _this.props.onDismiss();
  60. }
  61. _this.setState({
  62. open: false
  63. });
  64. }, _this.handleClickDay = function () {
  65. if (_this.props.autoOk) {
  66. setTimeout(_this.handleClickOk, 300);
  67. }
  68. }, _this.handleClickCancel = function () {
  69. _this.dismiss();
  70. }, _this.handleRequestClose = function () {
  71. _this.dismiss();
  72. }, _this.handleClickOk = function () {
  73. if (_this.props.onAccept && !_this.refs.calendar.isSelectedDateDisabled()) {
  74. _this.props.onAccept(_this.refs.calendar.getSelectedDate());
  75. }
  76. _this.setState({
  77. open: false
  78. });
  79. }, _this.handleWindowKeyUp = function (event) {
  80. switch ((0, _keycode2.default)(event)) {
  81. case 'enter':
  82. _this.handleClickOk();
  83. break;
  84. }
  85. }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
  86. }
  87. (0, _createClass3.default)(DatePickerDialog, [{
  88. key: 'render',
  89. value: function render() {
  90. var _props = this.props,
  91. DateTimeFormat = _props.DateTimeFormat,
  92. autoOk = _props.autoOk,
  93. cancelLabel = _props.cancelLabel,
  94. container = _props.container,
  95. containerStyle = _props.containerStyle,
  96. disableYearSelection = _props.disableYearSelection,
  97. initialDate = _props.initialDate,
  98. firstDayOfWeek = _props.firstDayOfWeek,
  99. locale = _props.locale,
  100. maxDate = _props.maxDate,
  101. minDate = _props.minDate,
  102. mode = _props.mode,
  103. okLabel = _props.okLabel,
  104. onAccept = _props.onAccept,
  105. onDismiss = _props.onDismiss,
  106. onShow = _props.onShow,
  107. openToYearSelection = _props.openToYearSelection,
  108. shouldDisableDate = _props.shouldDisableDate,
  109. hideCalendarDate = _props.hideCalendarDate,
  110. style = _props.style,
  111. animation = _props.animation,
  112. utils = _props.utils,
  113. other = (0, _objectWithoutProperties3.default)(_props, ['DateTimeFormat', 'autoOk', 'cancelLabel', 'container', 'containerStyle', 'disableYearSelection', 'initialDate', 'firstDayOfWeek', 'locale', 'maxDate', 'minDate', 'mode', 'okLabel', 'onAccept', 'onDismiss', 'onShow', 'openToYearSelection', 'shouldDisableDate', 'hideCalendarDate', 'style', 'animation', 'utils']);
  114. var open = this.state.open;
  115. var styles = {
  116. dialogContent: {
  117. width: !hideCalendarDate && mode === 'landscape' ? 479 : 310
  118. },
  119. dialogBodyContent: {
  120. padding: 0,
  121. minHeight: hideCalendarDate || mode === 'landscape' ? 330 : 434,
  122. minWidth: hideCalendarDate || mode !== 'landscape' ? 310 : 479
  123. }
  124. };
  125. var Container = container === 'inline' ? _Popover2.default : _Dialog2.default;
  126. return _react2.default.createElement(
  127. 'div',
  128. (0, _extends3.default)({}, other, { ref: 'root' }),
  129. _react2.default.createElement(
  130. Container,
  131. {
  132. anchorEl: this.refs.root // For Popover
  133. , animation: animation || _PopoverAnimationVertical2.default // For Popover
  134. , bodyStyle: styles.dialogBodyContent,
  135. contentStyle: styles.dialogContent,
  136. ref: 'dialog',
  137. repositionOnUpdate: true,
  138. open: open,
  139. onRequestClose: this.handleRequestClose,
  140. style: (0, _simpleAssign2.default)(styles.dialogBodyContent, containerStyle)
  141. },
  142. _react2.default.createElement(_reactEventListener2.default, {
  143. target: 'window',
  144. onKeyUp: this.handleWindowKeyUp
  145. }),
  146. _react2.default.createElement(_Calendar2.default, {
  147. autoOk: autoOk,
  148. DateTimeFormat: DateTimeFormat,
  149. cancelLabel: cancelLabel,
  150. disableYearSelection: disableYearSelection,
  151. firstDayOfWeek: firstDayOfWeek,
  152. initialDate: initialDate,
  153. locale: locale,
  154. onClickDay: this.handleClickDay,
  155. maxDate: maxDate,
  156. minDate: minDate,
  157. mode: mode,
  158. open: open,
  159. ref: 'calendar',
  160. onClickCancel: this.handleClickCancel,
  161. onClickOk: this.handleClickOk,
  162. okLabel: okLabel,
  163. openToYearSelection: openToYearSelection,
  164. shouldDisableDate: shouldDisableDate,
  165. hideCalendarDate: hideCalendarDate,
  166. utils: utils
  167. })
  168. )
  169. );
  170. }
  171. }]);
  172. return DatePickerDialog;
  173. }(_react.Component);
  174. DatePickerDialog.defaultProps = {
  175. DateTimeFormat: _dateUtils.dateTimeFormat,
  176. cancelLabel: 'Cancel',
  177. container: 'dialog',
  178. locale: 'en-US',
  179. okLabel: 'OK',
  180. openToYearSelection: false
  181. };
  182. DatePickerDialog.contextTypes = {
  183. muiTheme: _propTypes2.default.object.isRequired
  184. };
  185. DatePickerDialog.propTypes = process.env.NODE_ENV !== "production" ? {
  186. DateTimeFormat: _propTypes2.default.func,
  187. animation: _propTypes2.default.func,
  188. autoOk: _propTypes2.default.bool,
  189. cancelLabel: _propTypes2.default.node,
  190. container: _propTypes2.default.oneOf(['dialog', 'inline']),
  191. containerStyle: _propTypes2.default.object,
  192. disableYearSelection: _propTypes2.default.bool,
  193. firstDayOfWeek: _propTypes2.default.number,
  194. hideCalendarDate: _propTypes2.default.bool,
  195. initialDate: _propTypes2.default.object,
  196. locale: _propTypes2.default.string,
  197. maxDate: _propTypes2.default.object,
  198. minDate: _propTypes2.default.object,
  199. mode: _propTypes2.default.oneOf(['portrait', 'landscape']),
  200. okLabel: _propTypes2.default.node,
  201. onAccept: _propTypes2.default.func,
  202. onDismiss: _propTypes2.default.func,
  203. onShow: _propTypes2.default.func,
  204. open: _propTypes2.default.bool,
  205. openToYearSelection: _propTypes2.default.bool,
  206. shouldDisableDate: _propTypes2.default.func,
  207. style: _propTypes2.default.object,
  208. utils: _propTypes2.default.object
  209. } : {};
  210. exports.default = DatePickerDialog;