UNPKG

react-native-booking-calendar

Version:
106 lines (93 loc) 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _reactNative = require("react-native"); var _Row = _interopRequireDefault(require("./Row")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const { width: windowWidth } = _reactNative.Dimensions.get('window'); const Time = ({ defaultRow, startTime, endTime, intervalMinutes, dateTime, date, fontColor, borderColor }) => { const [time, setTime] = (0, _react.useState)(); (0, _react.useEffect)(() => { const arr = []; const datetime = startTime; const startHour = startTime.getHours(); const endHour = endTime.getHours(); const endMinute = endTime.getMinutes(); arr.push(startTime.toTimeString().slice(0, 5)); const loop = (endHour - startHour) * 60 / intervalMinutes + endMinute; for (let i = 0; i < loop; i++) { datetime.setMinutes(datetime.getMinutes() + intervalMinutes); arr.push(datetime.toTimeString().slice(0, 5)); } setTime(arr); }, [startTime, endTime, intervalMinutes, dateTime]); return /*#__PURE__*/_react.default.createElement(_reactNative.View, { style: TimeStyles.timeRowWrapper }, /*#__PURE__*/_react.default.createElement(_reactNative.View, { style: TimeStyles.timeWrapper }, time === null || time === void 0 ? void 0 : time.map(item => /*#__PURE__*/_react.default.createElement(_reactNative.View, { key: item, style: [TimeStyles.time, { borderColor: borderColor }] }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, { style: [TimeStyles.timeText, { color: fontColor }] }, item)))), /*#__PURE__*/_react.default.createElement(_reactNative.View, { style: TimeStyles.markRows }, time === null || time === void 0 ? void 0 : time.map(t => /*#__PURE__*/_react.default.createElement(_reactNative.View, { key: t, style: TimeStyles.rowWrapper }, date.map(eachDate => /*#__PURE__*/_react.default.createElement(_Row.default, { defaultRow: defaultRow, key: eachDate.date.toFormat('L/dd') + t, dateTimeObj: dateTime, date: eachDate.date, timeString: t, borderColor: borderColor })))))); }; const TimeStyles = _reactNative.StyleSheet.create({ timeRowWrapper: { flexDirection: 'row' }, timeWrapper: { width: windowWidth * 0.11 }, time: { borderTopWidth: 1, borderRightWidth: 1, height: 50, justifyContent: 'center', alignItems: 'center' }, timeText: { fontSize: 12 }, rowWrapper: { flexDirection: 'row' }, markRows: { flexDirection: 'column' } }); var _default = Time; exports.default = _default; //# sourceMappingURL=Time.js.map