@shinyongjun/react-datepicker
Version:
DatePicker component in React App.
36 lines • 1.5 kB
JavaScript
'use client';
import { jsx as _jsx } from "react/jsx-runtime";
import { NAME_SPACE } from '../../constants/core';
import { setViewDateByType } from '../../utils/datetime';
function ControllerArrow(_a) {
var viewDate = _a.viewDate, viewType = _a.viewType, direction = _a.direction, setViewDate = _a.setViewDate;
var getViewDateUnit = function (type) {
if (type === 'year')
return Number(viewDate.split('-')[0]);
else if (type === 'month')
return Number(viewDate.split('-')[1]);
else
return Number(viewDate.split('-')[2]);
};
var handleControl = function (action) {
var isExtra = action.startsWith('extra');
var unit = viewType === 'month' && !isExtra ? 'month' : 'year';
var deltas = {
month: 1,
year: 1,
decade: 10,
century: 100,
};
var delta = deltas[viewType];
if (viewType !== 'month' && isExtra) {
delta *= 10;
}
if (action === 'extraPrev' || action === 'prev') {
delta *= -1;
}
setViewDate(setViewDateByType(viewDate, getViewDateUnit(unit) + delta, unit));
};
return (_jsx("button", { type: "button", className: "".concat(NAME_SPACE, "__controller-arrow ").concat(NAME_SPACE, "__controller-").concat(direction), onClick: function () { return handleControl(direction); }, children: "Next" }));
}
export default ControllerArrow;
//# sourceMappingURL=Arrow.js.map