Skip to content

Instantly share code, notes, and snippets.

View Jantho1990's full-sized avatar
💭
Game devvin'

Josh Anthony Jantho1990

💭
Game devvin'
View GitHub Profile
@Jantho1990
Jantho1990 / App.10b.vue
Created August 9, 2018 02:12
StarRating Vue -- 10b
<template>
<div id="app">
<h1>Vue StarRating</h1>
<div class="star-rating-container">
<img class="logo" src="./assets/logo.png">
<star-rating
:rating="rating"
:min-rating="minRating"
:max-rating="maxRating"
:star-ratio="starRatio"
@Jantho1990
Jantho1990 / RatingInputs.10a.vue
Created August 9, 2018 02:09
StarRating Vue -- 10a
<style>
.rating-inputs {
grid-area: input;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 1fr;
text-align: left;
margin: auto;
}
@Jantho1990
Jantho1990 / StarRating.9c.vue
Created August 9, 2018 01:35
StarRating Vue -- 9c
<script>
import ratingIsValid from '../lib/validate'
// ...
export default {
// ...
beforeMount () {
let {rating, minRating, maxRating, starRatio, limit} = this
if (!ratingIsValid(rating, minRating, maxRating, starRatio, limit)) {
throw new Error(
`Illegal rating values detected. You should check your initial App state. (rating: ${rating}, minRating: ${minRating}, maxRating: ${maxRating}, starRatio: ${starRatio}, limit: ${limit})`
@Jantho1990
Jantho1990 / RatingInputs.9b.vue
Created August 9, 2018 00:58
StarRating Vue -- 9b
<script>
import inputIsValid from '../lib/validate'
export default {
// ...
methods: {
anyAreEmpty (...values) {
return values.filter(value => value === '').length > 0
},
handleRating () {
@Jantho1990
Jantho1990 / validate.js
Created August 8, 2018 02:39
StarRating Vue -- 9a
export let ratingIsValid = function (rating, minRating, maxRating) {
if (rating >= minRating && rating <= maxRating) return true
return false
}
export let valuesNotZeroOrLess = function (...values) {
let filteredValues = values.filter(value => value > 0)
return values.length === filteredValues.length
}
@Jantho1990
Jantho1990 / App.8e.vue
Created August 8, 2018 02:21
StarRating Vue -- 8e
<template>
<div id="app">
<img src="./assets/logo.png">
<star-rating
:rating="rating"
:min-rating="minRating"
:max-rating="maxRating"
:star-ratio="starRatio"
:limit="limit"
/>
@Jantho1990
Jantho1990 / App.8d.vue
Created August 8, 2018 01:21
StarRating Vue -- 8d
<template>
<div id="app">
<img src="./assets/logo.png">
<star-rating
:rating="rating"
/>
<rating-inputs
:rating="rating"
@rating-update="handleRatingUpdate"
/>
@Jantho1990
Jantho1990 / RatingInputs.8c.vue
Created August 7, 2018 23:36
StarRating Vue -- 8c
<template>
<div class="rating-inputs">
<label for="rating">Rating</label>
<input
name="rating"
type="number"
v-model="rating_"
v-on:input="handleRating"
/>
</div>
@Jantho1990
Jantho1990 / RatingInputs.8b.vue
Created August 7, 2018 22:57
StarRating Vue -- 8b
<template>
<div class="rating-inputs">
<label for="rating">Rating</label>
<input
name="rating"
type="number"
v-model="rating_"
/>
</div>
</template>
@Jantho1990
Jantho1990 / RatingInputs.8a.vue
Last active August 7, 2018 22:55
StarRating Vue -- 8a
<template>
<div class="rating-inputs">
<label for="rating">Rating</label>
<input
name="rating"
type="number"
/>
</div>
</template>