Skip to content

Instantly share code, notes, and snippets.

@nadavspi
Last active December 29, 2015 15:47
Show Gist options
  • Save nadavspi/417079429b4ca67a5f16 to your computer and use it in GitHub Desktop.
Save nadavspi/417079429b4ca67a5f16 to your computer and use it in GitHub Desktop.
(function($) {
const ReviewHearts = {
requiredProps: ['$container', '$inputs'],
config: {},
init(config = {}) {
this.requiredProps.map(prop => {
if (!config[prop]) {
throw new Error(`Missing required prop ${prop}`);
}
});
this.config = config;
this.addEventListener();
},
addEventListener() {
const { $inputs } = this.config;
$inputs.on('change', e => {
this.handleChange($(e.target).data('rating'));
});
},
handleChange(rating) {
const { $container } = this.config;
$container.data('rating', rating);
},
};
const reviewHearts = Object.create(ReviewHearts);
reviewHearts.init({
$container: $('.rating__container'),
$inputs: $('#product-review-stars input[type="radio"]'),
});
}(jQuery));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment