@shinyongjun/react-datepicker
Version:
DatePicker component in React App.
38 lines • 1.62 kB
JavaScript
;
'use client';
Object.defineProperty(exports, "__esModule", { value: true });
var jsx_runtime_1 = require("react/jsx-runtime");
var core_1 = require("../../constants/core");
var datetime_1 = require("../../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((0, datetime_1.setViewDateByType)(viewDate, getViewDateUnit(unit) + delta, unit));
};
return ((0, jsx_runtime_1.jsx)("button", { type: "button", className: "".concat(core_1.NAME_SPACE, "__controller-arrow ").concat(core_1.NAME_SPACE, "__controller-").concat(direction), onClick: function () { return handleControl(direction); }, children: "Next" }));
}
exports.default = ControllerArrow;
//# sourceMappingURL=Arrow.js.map