UNPKG

uxcore-notice-icon

Version:
170 lines (142 loc) 9.28 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _uxcoreEmptyData = require('uxcore-empty-data'); var _uxcoreEmptyData2 = _interopRequireDefault(_uxcoreEmptyData); var _uxcoreIcon = require('uxcore-icon'); var _uxcoreIcon2 = _interopRequireDefault(_uxcoreIcon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /** * NoticeIcon Component for uxcore * @author Amanda111 * * Copyright 2017-2018, Uxcore Team, Alinw. * All rights reserved. */ var NoticeIcon = function (_React$Component) { _inherits(NoticeIcon, _React$Component); function NoticeIcon(props) { _classCallCheck(this, NoticeIcon); var _this = _possibleConstructorReturn(this, _React$Component.call(this, props)); _this.state = {}; return _this; } NoticeIcon.prototype.renderBottom = function renderBottom() { var _props = this.props, prefixCls = _props.prefixCls, bottomAction = _props.bottomAction; var type = Object.prototype.toString.call(bottomAction).slice(8, -1); var render = void 0; if (type === 'Function') { render = bottomAction(); } else if (type === 'Array') { var actionGroup = bottomAction.map(function (item, index) { return _react2["default"].createElement( 'div', { className: prefixCls + '-bottom-text', onClick: item.action, key: index }, item.text ); }); render = _react2["default"].createElement( 'div', { className: prefixCls + '-bottom-wrap' }, actionGroup ); } else { render = _react2["default"].createElement( 'div', { className: prefixCls + '-bottom-wrap' }, _react2["default"].createElement( 'div', { className: prefixCls + '-bottom-text', onClick: bottomAction.action }, bottomAction.text ) ); } return render; }; NoticeIcon.prototype.renderEmpty = function renderEmpty() { var _props2 = this.props, prefixCls = _props2.prefixCls, emptyIcon = _props2.emptyIcon, emptyText = _props2.emptyText; var emptydata = _react2["default"].createElement( _uxcoreEmptyData2["default"], _extends({ className: prefixCls + '-empty' }, emptyIcon ? { icon: 'https://g.alicdn.com/uxcore/pic/' + emptyIcon + '.png' } : {}), _react2["default"].createElement( 'div', { style: { lineHeight: 2 } }, _react2["default"].createElement( 'div', { className: prefixCls + '-empty-text' }, emptyText ) ) ); return emptydata; }; NoticeIcon.prototype.render = function render() { var _props3 = this.props, prefixCls = _props3.prefixCls, icon = _props3.icon, title = _props3.title, topAction = _props3.topAction, children = _props3.children; return _react2["default"].createElement( 'div', { className: prefixCls + '-container' }, _react2["default"].createElement( 'div', { className: prefixCls + '-top' }, _react2["default"].createElement( 'div', { className: prefixCls + '-top-info' }, _react2["default"].createElement(_uxcoreIcon2["default"], { name: icon, className: prefixCls + '-small', usei: true }), _react2["default"].createElement( 'span', { className: prefixCls + '-title' }, title ) ), _react2["default"].createElement( 'div', null, topAction ) ), _react2["default"].createElement( 'div', { className: prefixCls + '-list' }, children || this.renderEmpty() ), _react2["default"].createElement( 'div', { className: prefixCls + '-bottom' }, this.renderBottom() ) ); }; return NoticeIcon; }(_react2["default"].Component); NoticeIcon.displayName = 'NoticeIconOverlay'; NoticeIcon.propTypes = { prefixCls: _propTypes2["default"].string, bottomAction: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].func, _propTypes2["default"].array]), emptyIcon: _propTypes2["default"].oneOf(['access_restriction', 'active_empty', 'request_error', 'search_empty', 'unknown_error']), emptyText: _propTypes2["default"].string, icon: _propTypes2["default"].string, title: _propTypes2["default"].string, topAction: _propTypes2["default"].element, children: _propTypes2["default"].node }; exports["default"] = NoticeIcon; module.exports = exports['default'];