import React, { Component } from 'react';
import PropTypes from 'prop-types';
import ToggleStar from '@material-ui/icons/Star';
import ToggleStarBorder from '@material-ui/icons/StarBorder';
import { orange, grey } from '@material-ui/core/colors';
import { IconButton } from '@material-ui/core';
const styles = {
disabled: {
pointerEvents: 'none'
}
};
class Rating extends Component {
constructor(props) {
super(props);
this.state = {
hoverValue: props.value
};
}
renderIcon(i) {
const filled = i <= this.props.value;
const hovered = i <= this.state.hoverValue;
if ((hovered && !filled) || (!hovered && filled)) {
return this.props.iconHoveredRenderer ? this.props.iconHoveredRenderer({
...this.props,
index: i
}) : this.props.iconHovered;
} if (filled) {
return this.props.iconFilledRenderer ? this.props.iconFilledRenderer({
...this.props,
index: i
}) : this.props.iconFilled;
}
return this.props.iconNormalRenderer ? this.props.iconNormalRenderer({
...this.props,
index: i
}) : this.props.iconNormal;
}
render() {
const {
disabled,
iconFilled,
iconHovered,
iconNormal,
tooltip,
tooltipRenderer,
tooltipPosition,
tooltipStyles,
iconFilledRenderer,
iconHoveredRenderer,
iconNormalRenderer,
itemStyle,
itemClassName,
itemIconStyle,
max,
onChange,
readOnly,
style,
value,
...other
} = this.props;
const rating = [];
for (let i = 1; i <= max; i += 1) {
rating.push(