Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions packages/main/cypress/specs/RatingIndicator.cy.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ describe("RatingIndicator", () => {
.should("have.attr", "name", "unfavorite");
});

it("should render custom icons for selected and unselected states", () => {
cy.mount(<RatingIndicator value={3} iconSelected="heart" iconUnselected="heart-2"></RatingIndicator>);
it("should render custom icons for rated and unrated states", () => {
cy.mount(<RatingIndicator value={3} ratedIcon="heart" unratedIcon="heart-2"></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand All @@ -39,8 +39,8 @@ describe("RatingIndicator", () => {
.should("have.attr", "name", "heart-2");
});

it("should render custom icon with default unselected icon when only iconSelected is specified", () => {
cy.mount(<RatingIndicator value={2} iconSelected="thumb-up"></RatingIndicator>);
it("should render custom icon with default unrated icon when only ratedIcon is specified", () => {
cy.mount(<RatingIndicator value={2} ratedIcon="thumb-up"></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand All @@ -55,8 +55,8 @@ describe("RatingIndicator", () => {
.should("have.attr", "name", "unfavorite");
});

it("should render custom unselected icon with default selected icon when only iconUnselected is specified", () => {
cy.mount(<RatingIndicator value={2} iconUnselected="thumb-down"></RatingIndicator>);
it("should render custom unrated icon with default rated icon when only unratedIcon is specified", () => {
cy.mount(<RatingIndicator value={2} unratedIcon="thumb-down"></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand All @@ -72,7 +72,7 @@ describe("RatingIndicator", () => {
});

it("should render custom icons in half-star state", () => {
cy.mount(<RatingIndicator value={2.5} iconSelected="heart" iconUnselected="heart-2"></RatingIndicator>);
cy.mount(<RatingIndicator value={2.5} ratedIcon="heart" unratedIcon="heart-2"></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand All @@ -86,7 +86,7 @@ describe("RatingIndicator", () => {
});

it("should render custom icon (filled) in half-star state when readonly", () => {
cy.mount(<RatingIndicator value={2.5} iconSelected="heart" iconUnselected="heart-2" readonly></RatingIndicator>);
cy.mount(<RatingIndicator value={2.5} ratedIcon="heart" unratedIcon="heart-2" readonly></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand All @@ -100,7 +100,7 @@ describe("RatingIndicator", () => {
});

it("should render custom icon (filled) in half-star state when disabled", () => {
cy.mount(<RatingIndicator value={2.5} iconSelected="heart" iconUnselected="heart-2" disabled></RatingIndicator>);
cy.mount(<RatingIndicator value={2.5} ratedIcon="heart" unratedIcon="heart-2" disabled></RatingIndicator>);

cy.get("[ui5-rating-indicator]")
.shadow()
Expand Down
12 changes: 2 additions & 10 deletions packages/main/src/RatingIndicator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ class RatingIndicator extends UI5Element {
* @since 2.20
*/
@property()
iconSelected?: string;
ratedIcon = "favorite";

/**
* Defines the icon to be displayed for the unselected (empty) rating symbol.
Expand All @@ -194,7 +194,7 @@ class RatingIndicator extends UI5Element {
* @since 2.20
*/
@property()
iconUnselected?: string;
unratedIcon = "unfavorite";

/**
* @private
Expand Down Expand Up @@ -360,14 +360,6 @@ class RatingIndicator extends UI5Element {
get ariaReadonly() {
return this.readonly ? "true" : undefined;
}

get effectiveIconSelected() {
return this.iconSelected || "favorite";
}

get effectiveIconUnselected() {
return this.iconUnselected || "unfavorite";
}
}

RatingIndicator.define();
Expand Down
12 changes: 6 additions & 6 deletions packages/main/src/RatingIndicatorTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ function starLi(this: RatingIndicator, star: Star) {
if (star.selected) {
return (
<li data-ui5-value={star.index} class="ui5-rating-indicator-item ui5-rating-indicator-item-sel">
<Icon data-ui5-value={star.index} name={this.effectiveIconSelected} />
<Icon data-ui5-value={star.index} name={this.ratedIcon} />
</li>
);
} if (star.halfStar) {
return (
<li class="ui5-rating-indicator-item ui5-rating-indicator-item-half">
<div class="ui5-rating-indicator-half-icon-wrapper ui5-rating-indicator-half-icon-left">
<Icon data-ui5-value={star.index} name={this.effectiveIconSelected} />
<Icon data-ui5-value={star.index} name={this.ratedIcon} />
</div>
<div class="ui5-rating-indicator-half-icon-wrapper ui5-rating-indicator-half-icon-right">
<Icon data-ui5-value={star.index} name={halfStarIconName.call(this)} />
Expand All @@ -52,23 +52,23 @@ function starLi(this: RatingIndicator, star: Star) {
} if (this.readonly) {
return (
<li class="ui5-rating-indicator-item ui5-rating-indicator-item-unsel">
<Icon data-ui5-value={star.index} name={this.effectiveIconSelected} />
<Icon data-ui5-value={star.index} name={this.ratedIcon} />
</li>
);
} if (this.disabled) {
return (
<li class="ui5-rating-indicator-item ui5-rating-indicator-item-unsel">
<Icon data-ui5-value={star.index} name={this.effectiveIconSelected} />
<Icon data-ui5-value={star.index} name={this.ratedIcon} />
</li>
);
}
return (
<li data-ui5-value={star.index} class="ui5-rating-indicator-item ui5-rating-indicator-item-unsel">
<Icon data-ui5-value={star.index} name={this.effectiveIconUnselected}/>
<Icon data-ui5-value={star.index} name={this.unratedIcon}/>
</li>
);
}

function halfStarIconName(this: RatingIndicator) {
return this.disabled || this.readonly ? this.effectiveIconSelected : this.effectiveIconUnselected;
return this.disabled || this.readonly ? this.ratedIcon : this.unratedIcon;
}
10 changes: 5 additions & 5 deletions packages/main/test/pages/RatingIndicator.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,27 +136,27 @@ <h3>sizes</h3>
</section>

<h3>Custom Icons - Hearts</h3>
<ui5-rating-indicator id="rating-hearts" value="3" icon-selected="heart" icon-unselected="heart-2"></ui5-rating-indicator>
<ui5-rating-indicator id="rating-hearts" value="3" rated-icon="heart" unrated-icon="heart-2"></ui5-rating-indicator>
<br>
<br>

<h3>Custom Icons - Thumbs Up</h3>
<ui5-rating-indicator id="rating-thumbs" value="2.5" icon-selected="thumb-up" icon-unselected="border"></ui5-rating-indicator>
<ui5-rating-indicator id="rating-thumbs" value="2.5" rated-icon="thumb-up" unrated-icon="border"></ui5-rating-indicator>
<br>
<br>

<h3>Custom Icons - Hearts (readonly)</h3>
<ui5-rating-indicator id="rating-hearts-readonly" value="2.5" icon-selected="heart" icon-unselected="heart-2" readonly></ui5-rating-indicator>
<ui5-rating-indicator id="rating-hearts-readonly" value="2.5" rated-icon="heart" unrated-icon="heart-2" readonly></ui5-rating-indicator>
<br>
<br>

<h3>Custom Icons - Hearts (disabled)</h3>
<ui5-rating-indicator id="rating-hearts-disabled" value="3" icon-selected="heart" icon-unselected="heart-2" disabled></ui5-rating-indicator>
<ui5-rating-indicator id="rating-hearts-disabled" value="3" rated-icon="heart" unrated-icon="heart-2" disabled></ui5-rating-indicator>
<br>
<br>

<h3>Custom Icons - Only selected icon (circles)</h3>
<ui5-rating-indicator id="rating-circle" value="2" icon-selected="circle-task-2"></ui5-rating-indicator>
<ui5-rating-indicator id="rating-circle" value="2" rated-icon="circle-task-2"></ui5-rating-indicator>
<br>
<br>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ The RatingIndicator supports several sizes of the Icons (S, M and L).
<Sizes />

### Custom Icons
The RatingIndicator supports custom icons for both selected and unselected states using the `icon-selected` and `icon-unselected` properties.
The RatingIndicator supports custom icons for both selected and unselected states using the `rated-icon` and `unrated-icon` properties.

<CustomIcons />
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@

<body style="background-color: var(--sapBackgroundColor)">
<!-- playground-hide-end -->
<ui5-rating-indicator value="3" icon-selected="heart" icon-unselected="heart-2"></ui5-rating-indicator></br>
<ui5-rating-indicator value="4" icon-selected="thumb-up" icon-unselected="border"></ui5-rating-indicator></br>
<ui5-rating-indicator value="2.5" icon-selected="circle-task-2" icon-unselected="border" readonly></ui5-rating-indicator>
<ui5-rating-indicator value="3" rated-icon="heart" unrated-icon="heart-2"></ui5-rating-indicator></br>
<ui5-rating-indicator value="4" rated-icon="thumb-up" unrated-icon="border"></ui5-rating-indicator></br>
<ui5-rating-indicator value="2.5" rated-icon="circle-task-2" unrated-icon="border" readonly></ui5-rating-indicator>
<!-- playground-hide -->
<script type="module" src="main.js"></script>
</body>
Expand Down
Loading