snackbar.js 779 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. /* jshint ignore:start */
  3. const TYPES_CLASSES = {
  4. 'info': 'alert-info',
  5. 'success': 'alert-success',
  6. 'warning': 'alert-warning',
  7. 'error': 'alert-danger'
  8. };
  9. /* jshint ignore:end */
  10. export class Snackbar extends React.Component {
  11. getSnackbarClass() {
  12. let snackbarClass = 'alerts-snackbar';
  13. if (this.props.isVisible) {
  14. snackbarClass += ' in';
  15. } else {
  16. snackbarClass += ' out';
  17. }
  18. return snackbarClass;
  19. }
  20. render() {
  21. /* jshint ignore:start */
  22. return <div className={this.getSnackbarClass()}>
  23. <p className={'alert ' + TYPES_CLASSES[this.props.type]}>
  24. {this.props.message}
  25. </p>
  26. </div>;
  27. /* jshint ignore:end */
  28. }
  29. }
  30. export function select(state) {
  31. return state.snackbar;
  32. }