UNPKG

frc-ui

Version:

React Web UI

43 lines (42 loc) 1.94 kB
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;