adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
86 lines • 11.9 kB
JavaScript
import * as React from "react";
import PropTypes from "prop-types";
import "./style";
import Icon from "../icon";
import { getDefaultMaxDate, getDefaultMinDate } from "./core";
var prefix = "adui-date";
var Caption = function Caption(_ref) {
var date = _ref.date,
maxDate = _ref.maxDate,
minDate = _ref.minDate,
onDateChange = _ref.onDateChange;
var handleYearChange = function handleYearChange(e) {
var newYear = parseInt(e.currentTarget.value, 10);
var newDate = new Date(date.getTime());
newDate.setFullYear(newYear);
onDateChange(newDate, e);
};
var handleMonthChange = function handleMonthChange(e) {
var newMonth = parseInt(e.currentTarget.value, 10);
var newDate = new Date(date.getTime());
newDate.setMonth(newMonth);
onDateChange(newDate, e);
};
var minYear = minDate.getFullYear();
var maxYear = maxDate.getFullYear();
var years = [maxYear];
for (var year = maxYear - 1; year >= minYear; year -= 1) {
years.push(year);
}
var displayMonth = date.getMonth();
var displayYear = date.getFullYear();
var startMonth = displayYear === minYear ? minDate.getMonth() : 0;
var endMonth = displayYear === maxYear ? maxDate.getMonth() + 1 : 12;
var months = [startMonth];
for (var month = startMonth + 1; month < endMonth; month += 1) {
months.push(month);
}
if (!months.includes(displayMonth)) {
months.unshift(displayMonth);
}
return React.createElement("div", {
className: "".concat(prefix, "-caption")
}, React.createElement("div", {
className: "".concat(prefix, "-selects")
}, React.createElement("div", {
className: "".concat(prefix, "-selectYear")
}, React.createElement("select", {
name: "year",
onChange: handleYearChange,
value: displayYear
}, years.map(function (year) {
return React.createElement("option", {
key: year,
value: year
}, year, "\u5E74");
})), React.createElement(Icon, {
icon: "triangle-down"
})), React.createElement("div", {
className: "".concat(prefix, "-selectMonth")
}, React.createElement("select", {
name: "month",
onChange: handleMonthChange,
value: displayMonth,
"data-value": displayMonth
}, months.map(function (month) {
return React.createElement("option", {
key: month,
value: month
}, month + 1, "\u6708");
})), React.createElement(Icon, {
icon: "triangle-down"
}))));
};
Caption.propTypes = {
date: PropTypes.any,
maxDate: PropTypes.any,
minDate: PropTypes.any,
onDateChange: PropTypes.func.isRequired
};
Caption.defaultProps = {
date: new Date(),
maxDate: getDefaultMaxDate(),
minDate: getDefaultMinDate()
};
export default Caption;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlByb3BUeXBlcyIsIkljb24iLCJnZXREZWZhdWx0TWF4RGF0ZSIsImdldERlZmF1bHRNaW5EYXRlIiwicHJlZml4IiwiQ2FwdGlvbiIsIl9yZWYiLCJkYXRlIiwibWF4RGF0ZSIsIm1pbkRhdGUiLCJvbkRhdGVDaGFuZ2UiLCJoYW5kbGVZZWFyQ2hhbmdlIiwiZSIsIm5ld1llYXIiLCJwYXJzZUludCIsImN1cnJlbnRUYXJnZXQiLCJ2YWx1ZSIsIm5ld0RhdGUiLCJEYXRlIiwiZ2V0VGltZSIsInNldEZ1bGxZZWFyIiwiaGFuZGxlTW9udGhDaGFuZ2UiLCJuZXdNb250aCIsInNldE1vbnRoIiwibWluWWVhciIsImdldEZ1bGxZZWFyIiwibWF4WWVhciIsInllYXJzIiwieWVhciIsInB1c2giLCJkaXNwbGF5TW9udGgiLCJnZXRNb250aCIsImRpc3BsYXlZZWFyIiwic3RhcnRNb250aCIsImVuZE1vbnRoIiwibW9udGhzIiwibW9udGgiLCJpbmNsdWRlcyIsInVuc2hpZnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiY29uY2F0IiwibmFtZSIsIm9uQ2hhbmdlIiwibWFwIiwia2V5IiwiaWNvbiIsInByb3BUeXBlcyIsImFueSIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9DYXB0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgXCIuL3N0eWxlXCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi9pY29uXCJcbmltcG9ydCB7IGdldERlZmF1bHRNYXhEYXRlLCBnZXREZWZhdWx0TWluRGF0ZSB9IGZyb20gXCIuL2NvcmVcIlxuXG5jb25zdCBwcmVmaXggPSBcImFkdWktZGF0ZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhcHRpb25Qcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICBkYXRlOiBEYXRlXG4gIG1heERhdGU6IERhdGVcbiAgbWluRGF0ZTogRGF0ZVxuICBvbkRhdGVDaGFuZ2U6IChkYXRlOiBEYXRlLCBlOiBSZWFjdC5Gb3JtRXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+KSA9PiB2b2lkXG59XG5cbi8qKlxuICog5pel5pyf6YCJ5oupIENhcHRpb25cbiAqL1xuY29uc3QgQ2FwdGlvbjogUmVhY3QuRkM8SUNhcHRpb25Qcm9wcz4gPSAoe1xuICBkYXRlLFxuICBtYXhEYXRlLFxuICBtaW5EYXRlLFxuICBvbkRhdGVDaGFuZ2UsXG59OiBJQ2FwdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGhhbmRsZVllYXJDaGFuZ2UgPSAoZTogUmVhY3QuRm9ybUV2ZW50PEhUTUxTZWxlY3RFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IG5ld1llYXIgPSBwYXJzZUludChlLmN1cnJlbnRUYXJnZXQudmFsdWUsIDEwKVxuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSlcbiAgICBuZXdEYXRlLnNldEZ1bGxZZWFyKG5ld1llYXIpXG4gICAgb25EYXRlQ2hhbmdlKG5ld0RhdGUsIGUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVNb250aENoYW5nZSA9IChlOiBSZWFjdC5Gb3JtRXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgbmV3TW9udGggPSBwYXJzZUludChlLmN1cnJlbnRUYXJnZXQudmFsdWUsIDEwKVxuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSlcbiAgICBuZXdEYXRlLnNldE1vbnRoKG5ld01vbnRoKVxuICAgIG9uRGF0ZUNoYW5nZShuZXdEYXRlLCBlKVxuICB9XG5cbiAgY29uc3QgbWluWWVhciA9IG1pbkRhdGUuZ2V0RnVsbFllYXIoKVxuICBjb25zdCBtYXhZZWFyID0gbWF4RGF0ZS5nZXRGdWxsWWVhcigpXG4gIGNvbnN0IHllYXJzID0gW21heFllYXJdXG4gIGZvciAobGV0IHllYXIgPSBtYXhZZWFyIC0gMTsgeWVhciA+PSBtaW5ZZWFyOyB5ZWFyIC09IDEpIHtcbiAgICB5ZWFycy5wdXNoKHllYXIpXG4gIH1cblxuICBjb25zdCBkaXNwbGF5TW9udGggPSBkYXRlLmdldE1vbnRoKClcbiAgY29uc3QgZGlzcGxheVllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKClcblxuICBjb25zdCBzdGFydE1vbnRoID0gZGlzcGxheVllYXIgPT09IG1pblllYXIgPyBtaW5EYXRlLmdldE1vbnRoKCkgOiAwXG4gIGNvbnN0IGVuZE1vbnRoID0gZGlzcGxheVllYXIgPT09IG1heFllYXIgPyBtYXhEYXRlLmdldE1vbnRoKCkgKyAxIDogMTJcbiAgY29uc3QgbW9udGhzID0gW3N0YXJ0TW9udGhdXG4gIGZvciAobGV0IG1vbnRoID0gc3RhcnRNb250aCArIDE7IG1vbnRoIDwgZW5kTW9udGg7IG1vbnRoICs9IDEpIHtcbiAgICBtb250aHMucHVzaChtb250aClcbiAgfVxuXG4gIGlmICghbW9udGhzLmluY2x1ZGVzKGRpc3BsYXlNb250aCkpIHtcbiAgICBtb250aHMudW5zaGlmdChkaXNwbGF5TW9udGgpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWNhcHRpb25gfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LXNlbGVjdHNgfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tc2VsZWN0WWVhcmB9PlxuICAgICAgICAgIDxzZWxlY3QgbmFtZT1cInllYXJcIiBvbkNoYW5nZT17aGFuZGxlWWVhckNoYW5nZX0gdmFsdWU9e2Rpc3BsYXlZZWFyfT5cbiAgICAgICAgICAgIHt5ZWFycy5tYXAoKHllYXIpID0+IChcbiAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9e3llYXJ9IHZhbHVlPXt5ZWFyfT5cbiAgICAgICAgICAgICAgICB7eWVhcn3lubRcbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8SWNvbiBpY29uPVwidHJpYW5nbGUtZG93blwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1zZWxlY3RNb250aGB9PlxuICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIG5hbWU9XCJtb250aFwiXG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlTW9udGhDaGFuZ2V9XG4gICAgICAgICAgICB2YWx1ZT17ZGlzcGxheU1vbnRofVxuICAgICAgICAgICAgZGF0YS12YWx1ZT17ZGlzcGxheU1vbnRofVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHttb250aHMubWFwKChtb250aCkgPT4gKFxuICAgICAgICAgICAgICA8b3B0aW9uIGtleT17bW9udGh9IHZhbHVlPXttb250aH0+XG4gICAgICAgICAgICAgICAge21vbnRoICsgMX3mnIhcbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8SWNvbiBpY29uPVwidHJpYW5nbGUtZG93blwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuQ2FwdGlvbi5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDml6XmnJ9cbiAgICovXG4gIGRhdGU6IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDmnIDlpKfpmZDliLbml6XmnJ9cbiAgICovXG4gIG1heERhdGU6IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDmnIDlsI/pmZDliLbml6XmnJ9cbiAgICovXG4gIG1pbkRhdGU6IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiBoYW5kbGVyXG4gICAqL1xuICBvbkRhdGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59XG5cbkNhcHRpb24uZGVmYXVsdFByb3BzID0ge1xuICBkYXRlOiBuZXcgRGF0ZSgpLFxuICBtYXhEYXRlOiBnZXREZWZhdWx0TWF4RGF0ZSgpLFxuICBtaW5EYXRlOiBnZXREZWZhdWx0TWluRGF0ZSgpLFxufVxuXG5leHBvcnQgZGVmYXVsdCBDYXB0aW9uXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBTyxTQUFTO0FBQ2hCLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBQzFCLFNBQVNDLGlCQUFpQixFQUFFQyxpQkFBaUIsUUFBUSxRQUFRO0FBRTdELElBQU1DLE1BQU0sR0FBRyxXQUFXO0FBYTFCLElBQU1DLE9BQWdDLEdBQUcsU0FBbkNBLE9BQWdDQSxDQUFBQyxJQUFBLEVBS2pCO0VBQUEsSUFKbkJDLElBQUksR0FBQUQsSUFBQSxDQUFKQyxJQUFJO0lBQ0pDLE9BQU8sR0FBQUYsSUFBQSxDQUFQRSxPQUFPO0lBQ1BDLE9BQU8sR0FBQUgsSUFBQSxDQUFQRyxPQUFPO0lBQ1BDLFlBQVksR0FBQUosSUFBQSxDQUFaSSxZQUFZO0VBRVosSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsQ0FBcUMsRUFBSztJQUNsRSxJQUFNQyxPQUFPLEdBQUdDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDRyxhQUFhLENBQUNDLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDbkQsSUFBTUMsT0FBTyxHQUFHLElBQUlDLElBQUksQ0FBQ1gsSUFBSSxDQUFDWSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hDRixPQUFPLENBQUNHLFdBQVcsQ0FBQ1AsT0FBTyxDQUFDO0lBQzVCSCxZQUFZLENBQUNPLE9BQU8sRUFBRUwsQ0FBQyxDQUFDO0VBQzFCLENBQUM7RUFFRCxJQUFNUyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJVCxDQUFxQyxFQUFLO0lBQ25FLElBQU1VLFFBQVEsR0FBR1IsUUFBUSxDQUFDRixDQUFDLENBQUNHLGFBQWEsQ0FBQ0MsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNwRCxJQUFNQyxPQUFPLEdBQUcsSUFBSUMsSUFBSSxDQUFDWCxJQUFJLENBQUNZLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDeENGLE9BQU8sQ0FBQ00sUUFBUSxDQUFDRCxRQUFRLENBQUM7SUFDMUJaLFlBQVksQ0FBQ08sT0FBTyxFQUFFTCxDQUFDLENBQUM7RUFDMUIsQ0FBQztFQUVELElBQU1ZLE9BQU8sR0FBR2YsT0FBTyxDQUFDZ0IsV0FBVyxDQUFDLENBQUM7RUFDckMsSUFBTUMsT0FBTyxHQUFHbEIsT0FBTyxDQUFDaUIsV0FBVyxDQUFDLENBQUM7RUFDckMsSUFBTUUsS0FBSyxHQUFHLENBQUNELE9BQU8sQ0FBQztFQUN2QixLQUFLLElBQUlFLElBQUksR0FBR0YsT0FBTyxHQUFHLENBQUMsRUFBRUUsSUFBSSxJQUFJSixPQUFPLEVBQUVJLElBQUksSUFBSSxDQUFDLEVBQUU7SUFDdkRELEtBQUssQ0FBQ0UsSUFBSSxDQUFDRCxJQUFJLENBQUM7RUFDbEI7RUFFQSxJQUFNRSxZQUFZLEdBQUd2QixJQUFJLENBQUN3QixRQUFRLENBQUMsQ0FBQztFQUNwQyxJQUFNQyxXQUFXLEdBQUd6QixJQUFJLENBQUNrQixXQUFXLENBQUMsQ0FBQztFQUV0QyxJQUFNUSxVQUFVLEdBQUdELFdBQVcsS0FBS1IsT0FBTyxHQUFHZixPQUFPLENBQUNzQixRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUM7RUFDbkUsSUFBTUcsUUFBUSxHQUFHRixXQUFXLEtBQUtOLE9BQU8sR0FBR2xCLE9BQU8sQ0FBQ3VCLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7RUFDdEUsSUFBTUksTUFBTSxHQUFHLENBQUNGLFVBQVUsQ0FBQztFQUMzQixLQUFLLElBQUlHLEtBQUssR0FBR0gsVUFBVSxHQUFHLENBQUMsRUFBRUcsS0FBSyxHQUFHRixRQUFRLEVBQUVFLEtBQUssSUFBSSxDQUFDLEVBQUU7SUFDN0RELE1BQU0sQ0FBQ04sSUFBSSxDQUFDTyxLQUFLLENBQUM7RUFDcEI7RUFFQSxJQUFJLENBQUNELE1BQU0sQ0FBQ0UsUUFBUSxDQUFDUCxZQUFZLENBQUMsRUFBRTtJQUNsQ0ssTUFBTSxDQUFDRyxPQUFPLENBQUNSLFlBQVksQ0FBQztFQUM5QjtFQUVBLE9BQ0UvQixLQUFBLENBQUF3QyxhQUFBO0lBQUtDLFNBQVMsS0FBQUMsTUFBQSxDQUFLckMsTUFBTTtFQUFXLEdBQ2xDTCxLQUFBLENBQUF3QyxhQUFBO0lBQUtDLFNBQVMsS0FBQUMsTUFBQSxDQUFLckMsTUFBTTtFQUFXLEdBQ2xDTCxLQUFBLENBQUF3QyxhQUFBO0lBQUtDLFNBQVMsS0FBQUMsTUFBQSxDQUFLckMsTUFBTTtFQUFjLEdBQ3JDTCxLQUFBLENBQUF3QyxhQUFBO0lBQVFHLElBQUksRUFBQyxNQUFNO0lBQUNDLFFBQVEsRUFBRWhDLGdCQUFpQjtJQUFDSyxLQUFLLEVBQUVnQjtFQUFZLEdBQ2hFTCxLQUFLLENBQUNpQixHQUFHLENBQUMsVUFBQ2hCLElBQUk7SUFBQSxPQUNkN0IsS0FBQSxDQUFBd0MsYUFBQTtNQUFRTSxHQUFHLEVBQUVqQixJQUFLO01BQUNaLEtBQUssRUFBRVk7SUFBSyxHQUM1QkEsSUFBSSxFQUFDLFFBQ0EsQ0FBQztFQUFBLENBQ1YsQ0FDSyxDQUFDLEVBQ1Q3QixLQUFBLENBQUF3QyxhQUFBLENBQUN0QyxJQUFJO0lBQUM2QyxJQUFJLEVBQUM7RUFBZSxDQUFFLENBQ3pCLENBQUMsRUFDTi9DLEtBQUEsQ0FBQXdDLGFBQUE7SUFBS0MsU0FBUyxLQUFBQyxNQUFBLENBQUtyQyxNQUFNO0VBQWUsR0FDdENMLEtBQUEsQ0FBQXdDLGFBQUE7SUFDRUcsSUFBSSxFQUFDLE9BQU87SUFDWkMsUUFBUSxFQUFFdEIsaUJBQWtCO0lBQzVCTCxLQUFLLEVBQUVjLFlBQWE7SUFDcEIsY0FBWUE7RUFBYSxHQUV4QkssTUFBTSxDQUFDUyxHQUFHLENBQUMsVUFBQ1IsS0FBSztJQUFBLE9BQ2hCckMsS0FBQSxDQUFBd0MsYUFBQTtNQUFRTSxHQUFHLEVBQUVULEtBQU07TUFBQ3BCLEtBQUssRUFBRW9CO0lBQU0sR0FDOUJBLEtBQUssR0FBRyxDQUFDLEVBQUMsUUFDTCxDQUFDO0VBQUEsQ0FDVixDQUNLLENBQUMsRUFDVHJDLEtBQUEsQ0FBQXdDLGFBQUEsQ0FBQ3RDLElBQUk7SUFBQzZDLElBQUksRUFBQztFQUFlLENBQUUsQ0FDekIsQ0FDRixDQUNGLENBQUM7QUFFVixDQUFDO0FBRUR6QyxPQUFPLENBQUMwQyxTQUFTLEdBQUc7RUFJbEJ4QyxJQUFJLEVBQUVQLFNBQVMsQ0FBQ2dELEdBQUc7RUFJbkJ4QyxPQUFPLEVBQUVSLFNBQVMsQ0FBQ2dELEdBQUc7RUFJdEJ2QyxPQUFPLEVBQUVULFNBQVMsQ0FBQ2dELEdBQUc7RUFJdEJ0QyxZQUFZLEVBQUVWLFNBQVMsQ0FBQ2lELElBQUksQ0FBQ0M7QUFDL0IsQ0FBQztBQUVEN0MsT0FBTyxDQUFDOEMsWUFBWSxHQUFHO0VBQ3JCNUMsSUFBSSxFQUFFLElBQUlXLElBQUksQ0FBQyxDQUFDO0VBQ2hCVixPQUFPLEVBQUVOLGlCQUFpQixDQUFDLENBQUM7RUFDNUJPLE9BQU8sRUFBRU4saUJBQWlCLENBQUM7QUFDN0IsQ0FBQztBQUVELGVBQWVFLE9BQU8iLCJpZ25vcmVMaXN0IjpbXX0=