2017 © Pedro Peláez
 

yii2-extension yii2-kudos-widget

Yii2 widget for Svbtle style Kudos. Based on JS from https://github.com/masukomi/kudos

image

ijackua/yii2-kudos-widget

Yii2 widget for Svbtle style Kudos. Based on JS from https://github.com/masukomi/kudos

  • Tuesday, March 11, 2014
  • by iJackUA
  • Repository
  • 1 Watchers
  • 3 Stars
  • 31 Installations
  • CSS
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

yii2-kudos-widget

Yii2 widget for Svbtle style Kudos. Based on JS from https://github.com/masukomi/kudos, (*1)

Demo

On posts details page of my blog or original JS widget demo, (*2)

Usage example

    Kudos::widget(
        [
            'widgetId' => 'post',  // unique id of widget on page, to allow more than one widget on the page
            'uid' => $post->id,  // uid of Kudoable element, for stat count
            'count' => $post->kudos, // initial Kudos value, to display
            'onAdded' => 'function (event) {
        // JS callback on Kudo +1 , you can do what ever you want here
        // for example send AJAX request to track stats
        var uid = $(this).data("uid");
        $.post("/kudo/plus/post/" + uid);}',
            'onRemoved' => 'function (event) {
        // JS callback on Kudo -1, send another AJAX request to track stats
        var uid = $(this).data("uid");
        $.post("/kudo/minus/post/" + uid);}',
        ]);

Tracking and stat storage server side you should implement yourself what ever you want., (*3)

localStorage

is used to keep widget state for each user personally. It uses widgetId|uid key to be unique for multiple widgets on the site. And does not pollute request Headers with extra Cookies (if someone Kuoded a lot of your pages)., (*4)

Events

  • onActive is sent when you hover over the object (the circle is growing)
  • onInactive is sent when you mouse-off the object
  • onAdded is sent when you successfully kudo something
  • onRemoved is sent when you un-kudo something

Advanced usage with custom icons inside widget

I am using font-smiley from http://fontello.com/ Custom icon-font should be prepared and connected to the page, then you can adjust smiley look and feel via CSS and add them inside Kudos widget like this, (*5)

    Kudos::widget(
        [
            'widgetId' => 'post',
            'uid' => $post->id,
            'count' => $post->kudos,
            'defaultClass' => 'icon icon-emo-thumbsup',
            'onAdded' => 'function (event) {
        var uid = $(this).data("uid");
        $(this).find(".icon").removeClass("icon-emo-thumbsup").addClass("icon-emo-beer");
        $.post("/kudo/plus/post/" + uid);}',
            'onRemoved' => 'function (event) {
        var uid = $(this).data("uid");
        $(this).find(".icon").removeClass("icon-emo-beer").addClass("icon-emo-thumbsup");
        $.post("/kudo/minus/post/" + uid);}',
        ]);

The Versions

11/03 2014

dev-master

9999999-dev https://github.com/iJackUA/yii2-kudos-widget

Yii2 widget for Svbtle style Kudos. Based on JS from https://github.com/masukomi/kudos

  Sources   Download

MIT

The Requires

 

extension yii widget like kudos

11/03 2014

1.0.0

1.0.0.0 https://github.com/iJackUA/yii2-kudos-widget

Yii2 widget for Svbtle style Kudos. Based on JS from https://github.com/masukomi/kudos

  Sources   Download

MIT

The Requires

 

extension yii widget like kudos