1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = void 0;
|
5 |
|
6 | var _classnames = _interopRequireDefault(require("classnames"));
|
7 |
|
8 | var _react = _interopRequireDefault(require("react"));
|
9 |
|
10 | var _CalendarView = _interopRequireDefault(require("./CalendarView"));
|
11 |
|
12 | var _ = require("./_");
|
13 |
|
14 | var _dates = _interopRequireDefault(require("./dates"));
|
15 |
|
16 | const _excluded = ["className", "focusedItem", "disabled", "onChange", "value", "min", "max", "localizer", "renderDay"];
|
17 |
|
18 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19 |
|
20 | function _extends() { _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; }; return _extends.apply(this, arguments); }
|
21 |
|
22 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
23 |
|
24 | function visibleDays(date, weekStart) {
|
25 | let current = _dates.default.startOf(_dates.default.startOf(date, 'month'), 'week', weekStart);
|
26 |
|
27 | let last = _dates.default.endOf(_dates.default.endOf(date, 'month'), 'week', weekStart);
|
28 |
|
29 | let days = [];
|
30 |
|
31 | while (_dates.default.lte(current, last, 'day')) {
|
32 | days.push(current);
|
33 | current = _dates.default.add(current, 1, 'day');
|
34 | }
|
35 |
|
36 | return days;
|
37 | }
|
38 |
|
39 | function MonthView(_ref) {
|
40 | let {
|
41 | className,
|
42 | focusedItem,
|
43 | disabled,
|
44 | onChange,
|
45 | value,
|
46 | min,
|
47 | max,
|
48 | localizer,
|
49 | renderDay
|
50 | } = _ref,
|
51 | props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
52 |
|
53 | let month = visibleDays(focusedItem, localizer.firstOfWeek());
|
54 | let rows = (0, _.chunk)(month, 7);
|
55 | return _react.default.createElement(_CalendarView.default, _extends({}, props, {
|
56 | focusedItem: focusedItem,
|
57 | className: (0, _classnames.default)(className, 'rw-calendar-month')
|
58 | }), _react.default.createElement("div", {
|
59 | role: "rowgroup",
|
60 | className: "rw-calendar-head"
|
61 | }, _react.default.createElement(_CalendarView.default.Row, {
|
62 | className: "rw-calendar-row"
|
63 | }, rows[0].map((date, idx) => _react.default.createElement("div", {
|
64 | role: "columnheader",
|
65 | className: "rw-head-cell",
|
66 | key: idx
|
67 | }, localizer.formatDate(date, 'weekday'))))), _react.default.createElement(_CalendarView.default.Body, null, rows.map((row, rowIdx) => _react.default.createElement(_CalendarView.default.Row, {
|
68 | key: rowIdx
|
69 | }, row.map((date, colIdx) => {
|
70 | let formattedDate = localizer.formatDate(date, 'dayOfMonth');
|
71 | let label = localizer.formatDate(date, 'date');
|
72 | return _react.default.createElement(_CalendarView.default.Cell, {
|
73 | key: colIdx,
|
74 | label: label,
|
75 | date: date,
|
76 | min: min,
|
77 | max: max,
|
78 | unit: "day",
|
79 | viewUnit: "month",
|
80 | onChange: onChange,
|
81 | focusedItem: focusedItem,
|
82 | selected: value,
|
83 | disabled: disabled
|
84 | }, renderDay ? renderDay({
|
85 | date,
|
86 | label: formattedDate
|
87 | }) : formattedDate);
|
88 | })))));
|
89 | }
|
90 |
|
91 | var _default = MonthView;
|
92 | exports.default = _default; |
\ | No newline at end of file |