UNPKG

antd-mobile

Version:

基于 React 的移动设计规范实现

142 lines (118 loc) 4.65 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var React = _interopRequireWildcard(_react); var _reactNative = require('react-native'); var _style = require('./style'); var _style2 = _interopRequireDefault(_style); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var NoticeBar = function (_React$Component) { (0, _inherits3["default"])(NoticeBar, _React$Component); function NoticeBar(props) { (0, _classCallCheck3["default"])(this, NoticeBar); var _this = (0, _possibleConstructorReturn3["default"])(this, _React$Component.call(this, props)); _this.onClick = function () { var _this$props = _this.props; var mode = _this$props.mode; var onClick = _this$props.onClick; onClick(); if (mode === 'closable') { _this.setState({ show: false }); } }; _this.state = { show: true }; return _this; } NoticeBar.prototype.render = function render() { var _props = this.props; var children = _props.children; var mode = _props.mode; var type = _props.type; var style = _props.style; var operationDom = void 0; switch (mode) { case 'closable': operationDom = React.createElement( _reactNative.TouchableOpacity, { onPress: this.onClick }, React.createElement( _reactNative.Text, { style: [_style2["default"].close] }, '×' ) ); break; case 'link': operationDom = React.createElement( _reactNative.TouchableOpacity, { onPress: this.onClick }, React.createElement( _reactNative.Text, { style: [_style2["default"].link] }, '∟' ) ); break; default: operationDom = null; break; } var iconType = ''; switch (type) { case 'success': iconType = 'dHVDErPWEJtMlmn'; break; case 'error': iconType = 'LvckcvVesFNgvpV'; break; case 'warn': iconType = 'bRnouywfdRsCcLU'; break; case 'question': iconType = 'JNRDCOIzgNJGnZt'; break; case 'info': default: iconType = 'baPKdUnrQFvLyHS'; break; } var iconDom = type ? React.createElement( _reactNative.View, { style: [_style2["default"].left15] }, React.createElement(_reactNative.Image, { source: { uri: 'https://zos.alipayobjects.com/rmsportal/' + iconType + '.png' }, style: { width: 12, height: 12 } }) ) : null; var contentMarginLeftStyle = type ? _style2["default"].left6 : _style2["default"].left15; return this.state.show ? React.createElement( _reactNative.View, { style: [_style2["default"].notice, style] }, iconDom, React.createElement( _reactNative.Text, { style: [_style2["default"].content, contentMarginLeftStyle] }, children ), operationDom ) : null; }; return NoticeBar; }(React.Component); exports["default"] = NoticeBar; NoticeBar.defaultProps = { mode: '', onClick: function onClick() {} }; module.exports = exports['default'];