chowa
Version:
UI component library based on React
55 lines (54 loc) • 2.46 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.
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const classNames = require("classnames");
const i18n_1 = require("../../i18n");
const utils_1 = require("../../utils");
const tool_1 = require("./../tool");
const column_event_layout_1 = require("./column-event-layout");
class FullDay extends React.PureComponent {
constructor(props) {
super(props);
this.state = Object.assign({}, this.compileRenderParams(props.value, props.events));
}
componentDidUpdate(preProps) {
if (!utils_1.isSameMoment(preProps.value, this.props.value)
|| !utils_1.isEqual(preProps.events, this.props.events)) {
this.setState(Object.assign({}, this.compileRenderParams(this.props.value, this.props.events)));
}
}
compileRenderParams(value, events) {
const mom = value.clone();
const renderMoms = [mom];
const renderEvents = [tool_1.compileColumnEvents(events, mom)];
return {
renderMoms,
renderEvents
};
}
render() {
const { renderMoms, renderEvents } = this.state;
const { editable, appendable, onContextMenu } = this.props;
const weekIndex = renderMoms[0].day() === 0
? 6 : renderMoms[0].day() - 1;
const wrapperClass = classNames({
[utils_1.preClass('full-calendar-mode-wrapper')]: true,
[utils_1.preClass('full-calendar-mode-day')]: true
});
return (React.createElement("div", { className: wrapperClass },
React.createElement("div", { className: utils_1.preClass('full-calendar-header') },
React.createElement("div", { className: utils_1.preClass('full-calendar-time-widget') }),
React.createElement("div", { className: utils_1.preClass('full-calendar-day-header-title') },
React.createElement(i18n_1.I18nReceiver, { module: 'Calendar' }, (i18n) => i18n.weeks[weekIndex]))),
React.createElement(column_event_layout_1.default, { editable: editable, appendable: appendable, onContextMenu: onContextMenu, moms: renderMoms, events: renderEvents })));
}
}
exports.default = FullDay;