@rusinov/react-big-calendar
Version:
70 lines (55 loc) • 2.19 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.views = exports.dateRangeFormat = exports.dateFormat = exports.accessor = exports.eventComponent = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _elementType = _interopRequireDefault(require("prop-types-extra/lib/elementType"));
exports.elementType = _elementType.default;
var _all = _interopRequireDefault(require("prop-types-extra/lib/all"));
var _constants = require("./constants");
var eventComponent = _propTypes.default.oneOfType([_elementType.default, _propTypes.default.shape({
month: _elementType.default,
week: _elementType.default,
day: _elementType.default,
agenda: _elementType.default
})]);
exports.eventComponent = eventComponent;
var viewNames = Object.keys(_constants.views).map(function (k) {
return _constants.views[k];
});
var accessor = _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]);
exports.accessor = accessor;
var dateFormat = _propTypes.default.any;
exports.dateFormat = dateFormat;
var dateRangeFormat = _propTypes.default.func;
/**
* accepts either an array of builtin view names:
*
* ```
* views={['month', 'day', 'agenda']}
* ```
*
* or an object hash of the view name and the component (or boolean for builtin)
*
* ```
* views={{
* month: true,
* week: false,
* workweek: WorkWeekViewComponent,
* }}
* ```
*/
exports.dateRangeFormat = dateRangeFormat;
var views = _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOf(viewNames)), (0, _all.default)(_propTypes.default.object, function (props, name) {
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
var prop = props[name],
err;
Object.keys(prop).every(function (key) {
var isBuiltinView = viewNames.indexOf(key) !== -1 && typeof prop[key] === 'boolean';
return isBuiltinView || !(err = _elementType.default.apply(void 0, [prop, key].concat(args)));
});
return err || null;
})]);
exports.views = views;
;