|
- "use strict";
-
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- exports.__esModule = true;
- exports.default = void 0;
-
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
-
- var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
-
- var _propTypes = _interopRequireDefault(require("prop-types"));
-
- var _react = _interopRequireDefault(require("react"));
-
- var _offset = _interopRequireDefault(require("dom-helpers/offset"));
-
- var _scrollTop = _interopRequireDefault(require("dom-helpers/scrollTop"));
-
- var _scrollLeft = _interopRequireDefault(require("dom-helpers/scrollLeft"));
-
- var dates = _interopRequireWildcard(require("./utils/dates"));
-
- var _EventCell = _interopRequireDefault(require("./EventCell"));
-
- var _selection = require("./utils/selection");
-
- var Popup =
- /*#__PURE__*/
- function (_React$Component) {
- (0, _inheritsLoose2.default)(Popup, _React$Component);
-
- function Popup() {
- return _React$Component.apply(this, arguments) || this;
- }
-
- var _proto = Popup.prototype;
-
- _proto.componentDidMount = function componentDidMount() {
- var _this$props = this.props,
- _this$props$popupOffs = _this$props.popupOffset,
- popupOffset = _this$props$popupOffs === void 0 ? 5 : _this$props$popupOffs,
- popperRef = _this$props.popperRef,
- _getOffset = (0, _offset.default)(popperRef.current),
- top = _getOffset.top,
- left = _getOffset.left,
- width = _getOffset.width,
- height = _getOffset.height,
- viewBottom = window.innerHeight + (0, _scrollTop.default)(window),
- viewRight = window.innerWidth + (0, _scrollLeft.default)(window),
- bottom = top + height,
- right = left + width;
-
- if (bottom > viewBottom || right > viewRight) {
- var topOffset, leftOffset;
- if (bottom > viewBottom) topOffset = bottom - viewBottom + (popupOffset.y || +popupOffset || 0);
- if (right > viewRight) leftOffset = right - viewRight + (popupOffset.x || +popupOffset || 0);
- this.setState({
- topOffset: topOffset,
- leftOffset: leftOffset
- }); //eslint-disable-line
- }
- };
-
- _proto.render = function render() {
- var _this$props2 = this.props,
- events = _this$props2.events,
- selected = _this$props2.selected,
- getters = _this$props2.getters,
- accessors = _this$props2.accessors,
- components = _this$props2.components,
- onSelect = _this$props2.onSelect,
- onDoubleClick = _this$props2.onDoubleClick,
- slotStart = _this$props2.slotStart,
- slotEnd = _this$props2.slotEnd,
- localizer = _this$props2.localizer,
- popperRef = _this$props2.popperRef;
- var width = this.props.position.width,
- topOffset = (this.state || {}).topOffset || 0,
- leftOffset = (this.state || {}).leftOffset || 0;
- var style = {
- top: -topOffset,
- left: -leftOffset,
- minWidth: width + width / 2
- };
- return _react.default.createElement("div", {
- style: (0, _extends2.default)({}, this.props.style, style),
- className: "rbc-overlay",
- ref: popperRef
- }, _react.default.createElement("div", {
- className: "rbc-overlay-header"
- }, localizer.format(slotStart, 'dayHeaderFormat')), events.map(function (event, idx) {
- return _react.default.createElement(_EventCell.default, {
- key: idx,
- type: "popup",
- event: event,
- getters: getters,
- onSelect: onSelect,
- accessors: accessors,
- components: components,
- onDoubleClick: onDoubleClick,
- continuesPrior: dates.lt(accessors.end(event), slotStart, 'day'),
- continuesAfter: dates.gte(accessors.start(event), slotEnd, 'day'),
- slotStart: slotStart,
- slotEnd: slotEnd,
- selected: (0, _selection.isSelected)(event, selected)
- });
- }));
- };
-
- return Popup;
- }(_react.default.Component);
-
- Popup.propTypes = process.env.NODE_ENV !== "production" ? {
- position: _propTypes.default.object,
- popupOffset: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
- x: _propTypes.default.number,
- y: _propTypes.default.number
- })]),
- events: _propTypes.default.array,
- selected: _propTypes.default.object,
- accessors: _propTypes.default.object.isRequired,
- components: _propTypes.default.object.isRequired,
- getters: _propTypes.default.object.isRequired,
- localizer: _propTypes.default.object.isRequired,
- onSelect: _propTypes.default.func,
- onDoubleClick: _propTypes.default.func,
- slotStart: _propTypes.default.instanceOf(Date),
- slotEnd: _propTypes.default.number,
- popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
- current: _propTypes.default.Element
- })])
- /**
- * The Overlay component, of react-overlays, creates a ref that is passed to the Popup, and
- * requires proper ref forwarding to be used without error
- */
-
- } : {};
-
- var _default = _react.default.forwardRef(function (props, ref) {
- return _react.default.createElement(Popup, (0, _extends2.default)({
- popperRef: ref
- }, props));
- });
-
- exports.default = _default;
- module.exports = exports["default"];
|