No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

111 líneas
3.3 KiB

  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. exports.__esModule = true;
  5. exports.default = void 0;
  6. var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  7. var _clsx = _interopRequireDefault(require("clsx"));
  8. var _propTypes = _interopRequireDefault(require("prop-types"));
  9. var _react = _interopRequireWildcard(require("react"));
  10. var TimeSlotUtils = _interopRequireWildcard(require("./utils/TimeSlots"));
  11. var _TimeSlotGroup = _interopRequireDefault(require("./TimeSlotGroup"));
  12. var TimeGutter =
  13. /*#__PURE__*/
  14. function (_Component) {
  15. (0, _inheritsLoose2.default)(TimeGutter, _Component);
  16. function TimeGutter() {
  17. var _this;
  18. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  19. args[_key] = arguments[_key];
  20. }
  21. _this = _Component.call.apply(_Component, [this].concat(args)) || this;
  22. _this.renderSlot = function (value, idx) {
  23. if (idx !== 0) return null;
  24. var _this$props = _this.props,
  25. localizer = _this$props.localizer,
  26. getNow = _this$props.getNow;
  27. var isNow = _this.slotMetrics.dateIsInGroup(getNow(), idx);
  28. return _react.default.createElement("span", {
  29. className: (0, _clsx.default)('rbc-label', isNow && 'rbc-now')
  30. }, localizer.format(value, 'timeGutterFormat'));
  31. };
  32. var _this$props2 = _this.props,
  33. min = _this$props2.min,
  34. max = _this$props2.max,
  35. timeslots = _this$props2.timeslots,
  36. step = _this$props2.step;
  37. _this.slotMetrics = TimeSlotUtils.getSlotMetrics({
  38. min: min,
  39. max: max,
  40. timeslots: timeslots,
  41. step: step
  42. });
  43. return _this;
  44. }
  45. var _proto = TimeGutter.prototype;
  46. _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
  47. var min = nextProps.min,
  48. max = nextProps.max,
  49. timeslots = nextProps.timeslots,
  50. step = nextProps.step;
  51. this.slotMetrics = this.slotMetrics.update({
  52. min: min,
  53. max: max,
  54. timeslots: timeslots,
  55. step: step
  56. });
  57. };
  58. _proto.render = function render() {
  59. var _this2 = this;
  60. var _this$props3 = this.props,
  61. resource = _this$props3.resource,
  62. components = _this$props3.components;
  63. return _react.default.createElement("div", {
  64. className: "rbc-time-gutter rbc-time-column"
  65. }, this.slotMetrics.groups.map(function (grp, idx) {
  66. return _react.default.createElement(_TimeSlotGroup.default, {
  67. key: idx,
  68. group: grp,
  69. resource: resource,
  70. components: components,
  71. renderSlot: _this2.renderSlot
  72. });
  73. }));
  74. };
  75. return TimeGutter;
  76. }(_react.Component);
  77. exports.default = TimeGutter;
  78. TimeGutter.propTypes = process.env.NODE_ENV !== "production" ? {
  79. min: _propTypes.default.instanceOf(Date).isRequired,
  80. max: _propTypes.default.instanceOf(Date).isRequired,
  81. timeslots: _propTypes.default.number.isRequired,
  82. step: _propTypes.default.number.isRequired,
  83. getNow: _propTypes.default.func.isRequired,
  84. components: _propTypes.default.object.isRequired,
  85. localizer: _propTypes.default.object.isRequired,
  86. resource: _propTypes.default.string
  87. } : {};
  88. module.exports = exports["default"];