UNPKG

react-np-datepicker

Version:

Integrate Nepali Datepicker in your React app easily.

101 lines (88 loc) 3.67 kB
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import _inherits from "@babel/runtime/helpers/esm/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } import React from 'react'; import cs from 'classnames'; import Cell from './Cell'; import ViewHeader from './ViewHeader'; import BSMoment from './BSDate'; var YearView = /*#__PURE__*/function (_React$Component) { _inherits(YearView, _React$Component); var _super = _createSuper(YearView); function YearView() { _classCallCheck(this, YearView); return _super.apply(this, arguments); } _createClass(YearView, [{ key: "getYears", value: function getYears() { var now = this.props.date, start = now.subtract(5, 'year'), end = now.add(6, 'year'), currYear = now.year(); return BSMoment.range(start, end, 'year').map(function (year) { return { label: year.year(), curr: currYear === year.year() }; }); } }, { key: "cellClick", value: function cellClick(e) { var year = parseInt(e.target.innerHTML, 10); if (year) { var date = this.props.date.year(year); this.props.prevView(date); } } }, { key: "next", value: function next() { var nextDate = this.props.date.add(10, 'year'); // if (this.props.maxDate && nextDate.isAfter(this.props.maxDate, 'day')) { // nextDate = this.props.maxDate // } this.props.setInternalDate(nextDate); } }, { key: "prev", value: function prev() { var prevDate = this.props.date.subtract(10, 'year'); // if (this.props.minDate && prevDate.isBefore(this.props.minDate, 'day')) { // prevDate = this.props.minDate // } this.props.setInternalDate(prevDate); } }, { key: "render", value: function render() { var years = this.getYears(), yearsCells = years.map(function (item, i) { return /*#__PURE__*/React.createElement(Cell, { value: item.label, className: cs({ year: true, current: item.curr }), key: i }); }); var currentDate = [years[0].label, years[years.length - 1].label].join('-'); return /*#__PURE__*/React.createElement("div", { className: "years-view" }, /*#__PURE__*/React.createElement(ViewHeader, { data: currentDate, next: this.next.bind(this), prev: this.prev.bind(this) }), /*#__PURE__*/React.createElement("div", { className: "years", onClick: this.cellClick.bind(this) }, yearsCells)); } }]); return YearView; }(React.Component); export { YearView as default };