Skip to content

Commit

Permalink
feat(hover): implemented examples for hover feature
Browse files Browse the repository at this point in the history
  • Loading branch information
BioPhoton committed Apr 29, 2017
1 parent 7392579 commit df5a9a4
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 12 deletions.
4 changes: 2 additions & 2 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ Default: false
<img src="https://raw.githubusercontent.com/BioPhoton/angular-star-rating/master/resources/properties/prop-disabled-true.PNG" width="290">


#### Cotrol modifier
#### Control modifier

**rating**: number (Optional)
The actual star rating value
Expand Down Expand Up @@ -405,7 +405,7 @@ Params: rating
Return: boolean

```html
<star-rating-comp [getHalfStarClass]="ctrl.getHalfStarClass(rating)" rating="3.2"></star-rating-comp>
<star-rating-comp [getHalfStarClass]="ctrl.getHalfStarClass(rating)" [rating]="3.2"></star-rating-comp>
```
<img src="https://raw.githubusercontent.com/BioPhoton/angular-star-rating/master/resources/properties/prop-get_half_star_visible-default.PNG" width="290">
<img src="https://raw.githubusercontent.com/BioPhoton/angular-star-rating/master/resources/properties/prop-get_half_star_visible-custom.PNG" width="290">
Expand Down
1 change: 1 addition & 0 deletions examples/angular2/src/app/app.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ <h1>
[readOnly]="starRatingConfig.readOnly"
[getColor]="starRatingConfig.getColor"
[getHalfStarVisible]="starRatingConfig.getHalfStarVisible"
(onHoverRatingChange)="starRatingConfig.onHoverRatingChange($event)"
(onClick)="starRatingConfig.onClick($event)"
(onRatingChange)="starRatingConfig.onRatingChange($event)"
></star-rating-comp>
Expand Down
6 changes: 6 additions & 0 deletions examples/angular2/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ export class AppComponent {
this.starRatingConfig.onRatingChange = ($event) => {
console.log('onRatingUpdated $event: ', $event);
};

this.starRatingConfig.onHoverRatingChange = ($event) => {
console.log('onHoverRatingChange $event: ', $event);
};


}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
import {Component} from "@angular/core";
import {IStarRatingOnClickEvent, IStarRatingOnRatingChangeEven} from "angular-star-rating/dist/src/star-rating-struct";
import {IStarRatingOnHoverEvent} from "../../../../../../src/star-rating-struct";

@Component({
selector: 'my-events-component',
template: `
<star-rating-comp [starType]="'svg'"
[hoverEnabled]="true"
(onClick)="onClick($event)"
(onRatingChange)="onRatingChange($event)">
(onRatingChange)="onRatingChange($event)"
(onHoverRatingChange)="onHoverRatingChange($event)">
</star-rating-comp>
<p>onHoverRatingChangeResult: {{onHoverRatingChangeResult | json}}</p>
<p>onClickResult: {{onClickResult | json}}</p>
<p>onRatingChangeResult: {{onRatingChangeResult | json}}</p>
`
})
export class MyEventsComponent {

onClickResult:IStarRatingOnClickEvent;
onHoverRatingChangeResult:IStarRatingOnHoverEvent;
onRatingChangeResult:IStarRatingOnRatingChangeEven;

onClick = ($event:IStarRatingOnClickEvent) => {
Expand All @@ -28,4 +33,9 @@ export class MyEventsComponent {
this.onRatingChangeResult = $event;
};

onHoverRatingChange = ($event:IStarRatingOnHoverEvent) => {
console.log('onHoverRatingChange $event: ', $event);
this.onHoverRatingChangeResult = $event;
};

}
19 changes: 10 additions & 9 deletions src/star-rating.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ const STAR_RATING_CONTROL_ACCESSOR = {
, 'id'
],
outputs: [
'onClick'
'onClick'
, 'onRatingChange'
, 'onHoverRatingChange'
],
//templateUrl: 'star-rating.component.html',
template: `
Expand Down Expand Up @@ -95,11 +96,11 @@ export class StarRatingComponent extends StarRatingController implements OnChang
}
}

onHover: EventEmitter<IStarRatingOnHoverEvent> = new EventEmitter<IStarRatingOnHoverEvent>();
onHoverRatingChange: EventEmitter<IStarRatingOnHoverEvent> = new EventEmitter<IStarRatingOnHoverEvent>();

saveOnHover($event:IStarRatingOnHoverEvent) {
if(this.onHover) {
this.onHover.emit($event);
if(this.onHoverRatingChange) {
this.onHoverRatingChange.emit($event);
}
}

Expand Down Expand Up @@ -185,11 +186,11 @@ export class StarRatingComponent extends StarRatingController implements OnChang
}

this.hoverRating = rating?parseInt(rating.toString()):0;
//fire onHover event
if(typeof this.onHover === 'function') {
let $event:IStarRatingOnHoverEvent = { hoverRating: this.hoverRating};
this.saveOnHover($event);
}

//fire onHoverRatingChange event
let $event:IStarRatingOnHoverEvent = { hoverRating: this.hoverRating};
this.saveOnHover($event);


}

Expand Down

0 comments on commit df5a9a4

Please # to comment.