Sha256: e5152e214b470eeb2d14ca8d504543280efac089cfdd3b7b563e6387d7bedb06

Contents?: true

Size: 902 Bytes

Versions: 5

Compression:

Stored size: 902 Bytes

Contents

import { Component, PropTypes } from 'react';
import Icon          from '../application/icon.component';

class VoteButton extends Component {
  render() {
    const { buttonClassName, iconName, votes, voteAction, disabled, selectedClass } = this.props;
    let voteClasses = `${buttonClassName} ${selectedClass}`;

    return (
      <button className={voteClasses} onClick={() => voteAction()} disabled={disabled}>
        <Icon name={iconName} iconExtraClassName="icon--small" />
        { ` ${votes}` }
      </button>
    );
  }
}

VoteButton.propTypes = {
  buttonClassName: PropTypes.string.isRequired,
  iconName: PropTypes.string.isRequired,
  votes: PropTypes.number.isRequired,
  voteAction: PropTypes.func.isRequired,
  selectedClass: PropTypes.string,
  disabled: PropTypes.bool
};

VoteButton.defaultProps = {
  selectedClass: "selected",
  disabled: false
};

export default VoteButton;

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
decidim-comments-0.0.6 app/frontend/comments/vote_button.component.jsx
decidim-0.0.6 decidim-comments/app/frontend/comments/vote_button.component.jsx
decidim-comments-0.0.5 app/frontend/comments/vote_button.component.jsx
decidim-0.0.5 decidim-comments/app/frontend/comments/vote_button.component.jsx
decidim-0.0.4 decidim-comments/app/frontend/comments/vote_button.component.jsx