UNPKG

ldx-widgets

Version:

widgets

72 lines (59 loc) 1.48 kB
React = require 'react' animationMixin = require '../mixins/animation_mixin' {li, div, button} = React.DOM FormAlertItem = React.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: React.PropTypes.bool message: React.PropTypes.oneOfType [ React.PropTypes.string React.PropTypes.number ] render: -> {alert} = @props {isAlert, message} = alert {scale} = @state li { className: if isAlert then 'alert' else '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: @removeAlert className: 'alert-close' } ] ] componentDidMount: -> {removeTimer} = @props.alert if removeTimer? setTimeout => @removeAlert(@props.alert) , removeTimer removeAlert: -> @props.removeAlert @props.alert module.exports = FormAlertItem