UNPKG

ldx-widgets

Version:

widgets

85 lines (76 loc) 2.2 kB
(function() { var FormAlertItem, PropTypes, React, animationMixin, button, createClass, div, li, ref; React = require('react'); createClass = require('create-react-class'); PropTypes = require('prop-types'); animationMixin = require('../mixins/animation_mixin'); ref = require('react-dom-factories'), li = ref.li, div = ref.div, button = ref.button; FormAlertItem = createClass({ displayName: 'FormAlertItem', mixins: [animationMixin], enterDuration: 300, enterStateStart: { scale: 0 }, enterStateEnd: { scale: 1 }, enterEasing: 'easeOutCirc', leaveDuration: 300, leaveStateStart: { scale: 1 }, leaveStateEnd: { scale: 0 }, leaveEasing: 'easeInCirc', propTypes: { isAlert: PropTypes.bool, message: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) }, render: function() { var alert, isAlert, message, scale; alert = this.props.alert; isAlert = alert.isAlert, message = alert.message; scale = this.state.scale; return li({ className: isAlert ? 'alert' : 'success', style: { transform: "scaleY(" + scale + ") translateZ(0)", WebkitTransform: "scaleY(" + scale + ") translateZ(0)", msTransform: "scaleY(" + scale + ")" } }, [ div({ key: 'title', className: 'message' }, [ div({ key: 'message', className: 'alert-text', title: message }, message), button({ key: 'remove-item', onClick: this.removeAlert, className: 'alert-close' }) ]) ]); }, componentDidMount: function() { var removeTimer; removeTimer = this.props.alert.removeTimer; if (removeTimer != null) { return setTimeout((function(_this) { return function() { return _this.removeAlert(_this.props.alert); }; })(this), removeTimer); } }, removeAlert: function() { return this.props.removeAlert(this.props.alert); } }); module.exports = FormAlertItem; }).call(this);