chowa
Version:
UI component library based on React
49 lines (48 loc) • 3.52 kB
JavaScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const moment = require("moment");
const i18n_1 = require("../../i18n");
const icon_1 = require("../../icon");
const utils_1 = require("../../utils");
const calendar_mode_1 = require("../calendar-mode");
const MinHeader = (props) => {
const { mode, each, display, time, updateDisplay, updateMode, updateEach } = props;
return (React.createElement("div", { className: utils_1.preClass('min-calendar-header') },
mode !== calendar_mode_1.TIME_MODE &&
React.createElement("button", { onClick: mode === calendar_mode_1.YEAR_MODE
? updateEach.bind(this, each.clone().subtract(12, 'year').startOf('month'))
: updateDisplay.bind(this, display.clone().subtract(1, 'year').startOf('month')), className: utils_1.preClass('min-calendar-header-btn') },
React.createElement(icon_1.default, { type: 'arrow-left-double' })),
mode === calendar_mode_1.DAY_MODE &&
React.createElement("button", { onClick: updateDisplay.bind(this, display.clone().subtract(1, 'month').startOf('month')), className: utils_1.preClass('min-calendar-header-btn') },
React.createElement(icon_1.default, { type: 'arrow-left' })),
React.createElement("div", { className: utils_1.preClass('min-calendar-header-display') },
(mode === calendar_mode_1.DAY_MODE || mode === calendar_mode_1.MONTH_MODE) &&
React.createElement("button", { onClick: mode === calendar_mode_1.YEAR_MODE ? null : updateMode.bind(this, calendar_mode_1.YEAR_MODE), className: utils_1.preClass('min-calendar-header-year') },
React.createElement(i18n_1.I18nReceiver, { module: 'Calendar' }, (i18n) => moment.isMoment(display)
? display.format(i18n.yearFormat)
: '')),
mode === calendar_mode_1.DAY_MODE &&
React.createElement("button", { onClick: updateMode.bind(this, calendar_mode_1.MONTH_MODE), className: utils_1.preClass('min-calendar-header-month') },
React.createElement(i18n_1.I18nReceiver, { module: 'Calendar' }, (i18n) => i18n.months[display.month()])),
mode === calendar_mode_1.TIME_MODE &&
React.createElement("span", { className: utils_1.preClass('min-calendar-header-time') }, moment.isMoment(time) ? time.format('HH:mm:ss') : '')),
mode === calendar_mode_1.DAY_MODE &&
React.createElement("button", { onClick: updateDisplay.bind(this, display.clone().add(1, 'month').startOf('month')), className: utils_1.preClass('min-calendar-header-btn') },
React.createElement(icon_1.default, { type: 'arrow-right' })),
mode !== calendar_mode_1.TIME_MODE &&
React.createElement("button", { onClick: mode === calendar_mode_1.YEAR_MODE
? updateEach.bind(this, each.clone().add(12, 'year').startOf('month'))
: updateDisplay.bind(this, display.clone().add(1, 'year').startOf('month')), className: utils_1.preClass('min-calendar-header-btn') },
React.createElement(icon_1.default, { type: 'arrow-right-double' }))));
};
exports.default = MinHeader;