frc-ui
Version:
React Web UI
43 lines (42 loc) • 1.94 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import React from 'react';
import classNames from 'classnames';
import Icon from '../icon/index';
import { Consumer } from './common/Hoc';
import { MessageTypeEnum } from './interfaces';
let Notice = class Notice extends React.PureComponent {
constructor(props) {
super(props);
this.close = (event) => {
event.stopPropagation();
this.setState({ show: false });
};
this.state = {
show: true
};
}
render() {
const { show } = this.state;
const { prefix, messageTypes, top, notice, locale } = this.props;
const cls = `${prefix}-notice`;
const className = classNames(cls, {
[`${cls}-hidden`]: !show || !notice || notice === ''
});
if (!(messageTypes || []).some((t) => t === MessageTypeEnum.SYSTEM_NOTICE))
return null;
const style = { top };
return (React.createElement("div", { className: className, style: style },
React.createElement("p", null, (locale && locale.systemMessage) + ' : ' + (notice || '')),
React.createElement("div", { className: `${cls}-close`, onClick: this.close },
React.createElement(Icon, { type: 'close', style: { fontSize: 16 } }))));
}
};
Notice = __decorate([
Consumer(['notice'])
], Notice);
export default Notice;