Home

Awesome

Ionic1 Star Rating ⭐⭐⭐⭐⭐

⭐ Ionic 1 Component written in typescript, based on css only techniques. ⭐

License Bower Version NPM Version
Standard Version
Build Status NPM

NPM Package Quality

Ionic1 Star Rating is a Ionic specific Angular1.6 component written in typescript.
It is based on css-star-rating, a fully featured and customizable css only star rating component written in scss.

Ionic1-Star-Rating

##Related Projects

CssAngular 1AngularIonic 1
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/family/css3.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/family/angular1.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/family/angular.png" width="80"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/family/ionic1.png" width="80">
Css Star RatingAngular1 Star RatingAngular Star RatingIonic1 Star Rating

Features

Beside all other features listed below it is optimized for mobile which means it implements touch gestures over ionics built in gestures. This module implements all Features from CSS-STAR-RATING. It also provides callbacks for all calculation functions used in the component as well as all possible event emitters.

Browser support

IEFirefoxChromeSafariOpera
> 11> 50> 55> 10> 41
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/browser/ie.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/browser/firefox.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/browser/chrome.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/browser/safari.png" width="100"><img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/browser/opera.png" width="100">

Install

*Get Ionic1 Star Rating:

Load library as minified js file

<script src="[bower or npm folder or git-cdn path]/ionic1-star-rating/dist/index.js"></script>

*Load library as ts module

    import angularStars = require('ionic1-star-rating/dist/index.js');

Inject it into angular

angular.module('myApp', ['star-rating'])

Use it

<star-rating-comp rating="'3.0'"></star-rating-comp>

Component Properties

Input (< bindings)

id: string (Optional)
The html id attribute of the star rating
Default: undefined

<star-rating-comp id="'my-id'"></star-rating-comp>

rating: number (Optional)
The actual star rating value
Default: 0

<star-rating-comp rating="3"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-value.PNG" width="290">

showHalfStars: boolean (Optional) To show half stars or not
Options: true, false
Default: false

<star-rating-comp show-half-stars="true"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-show_half_stars-false.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-show_half_stars-true.PNG" width="290">

numOfStars: number (Optional)
The possible number of stars to choose from
Default: 5

<star-rating-comp num-of-stars="6"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-num_of_stars.PNG" width="290">

label-text: string (Optional)
The label text next to the stars.
Default: undefined

<star-rating-comp label-text="'My text!'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-label_text.PNG" width="290">

labelPosition: starRatingPosition (Optional)
The position of the label
Options: top, right, bottom, left
Default: left

<star-rating-comp label-position="'top'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-label-top.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-label-bottom.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-label-right.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-label-left.PNG" width="290">

space: starRatingStarSpace (Optional)
If the start use the whole space or not. Options: no, between, around Default: no

<star-rating-comp space="'around'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-space-default.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-space-around.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-space-between.PNG" width="290">

size: starRatingSizes (Optional)
The height and width of the stars.
Options: small, medium, large
Default: ok

<star-rating-comp size="'small'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-size-small.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-size-medium.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-size-large.PNG" width="290">

color: starRatingColors (Optional)
Possible color names for the stars.
Options: default, negative, ok, positive
Default: undefined

<star-rating-comp color="'positive'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-color-default.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-color-positive.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-color-ok.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-color-negative.PNG" width="290">

disabled: boolean (Optional)
The click callback is disabled, colors are transparent
Default: false

<star-rating-comp disabled="true"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-disabled-false.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-disabled-true.PNG" width="290">

direction: string (Optional)
The direction of the stars and label.
Options: rtl, ltr
Default: rtl

<star-rating-comp direction="'ltr'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-direction-rtl.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-direction-ltr.PNG" width="290">

readOnly: boolean (Optional)
The click callback is disabled
Default: false

<star-rating-comp read-only="true"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-disabled-false.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-disabled-false.PNG" width="290">

speed: starRatingSpeed (Optional)
The duration of the animation in ms.
Options: immediately, noticeable, slow
Default: noticeable

<star-rating-comp speed="'slow'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-animation_speed-immediately.gif" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-animation_speed-noticeable.gif" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-animation_speed-slow.gif" width="290">

starType: starRatingStarTypes (Optional)
The type of start resource to use.
Options: svg, icon, custom-icon Default: svg

<star-rating-comp star-type="'icon'"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-type-svg.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-type-icon.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-type-custom_icon.PNG" width="290">

getColor: Function (Optional)
Calculation of the color by rating.
Params: rating, numOfStars, staticColor
Return: colorName as string

<star-rating-comp get-color="parentCtrl.getColor(rating, numOfStars, staticColor)"></star-rating-comp>
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-get_color-function.PNG" width="290">

getHalfStarVisible: Function (Optional)
Calculation for adding the "half" class or not, depending on the rating value.
Params: rating
Return: boolean

<star-rating-comp get-half-star-visible="parentCtrl.getHalfStarVisible(rating)" rating="3.1"></star-rating-comp>
function getHalfStarVisible(rating) {
    var absDiff = Math.abs(rating % 1);
    
    if(absDiff == 0.1) {
        return false;
    }
    
    return absDiff > 0;
}
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-get_half_star_visible-default.PNG" width="290"> <img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-get_half_star_visible-custom.PNG" width="290">

Output (& bindings)

onClick: Function (Optional)
Callback function for star click event Params: $event

<star-rating-comp on-click="parentCtrl.onClick($event)"></star-rating-comp>
function onClick($event) {
    parent.clickCount = parent.clickCount + 1;
}
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-on_click-counter.PNG" width="290">

onRatingChange: Function (Optional)
Callback function for rating update event Params: $event

<star-rating-comp on-rating-change="parentCtrl.onRatingChange($event)"></star-rating-comp>
function onRatingChange($event) {
    parent.rating = $event.rating;
}
<img src="https://raw.githubusercontent.com/BioPhoton/ionic1-star-rating/master/resources/prop-on_update-2waybinding.PNG" width="290">