Kanji listeners/notify sample

by tnhu

HTML

<script src="https://dl.dropboxusercontent.com/u/7677927/kanji/lib/jquery.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/7677927/kanji/lib/jsface.js"></script>
<script src="https://dl.dropboxusercontent.com/u/7677927/kanji/lib/jsface.ready.js"></script>
<script src="https://dl.dropboxusercontent.com/u/7677927/kanji/kanji.js"></script>
<script type="text/kanji" data-com="Listener"></script>
<script type="text/kanji" data-com="Timer" data-cfg="{ 'src': 'Sender1' }"></script>
<script type="text/kanji" data-com="Timer" data-cfg="{ 'src': 'Sender2' }"></script>

JavaScript

Class(Kanji, {
    id: 'Timer',
    type: 'shared',
    lazy: false,
    
    init: function(container, config) {
        var th = this;
        
        setInterval(function() {
            th.notify('time:up', +new Date(), config.src);
        }, 2000);
    }
});

Class(Kanji, {
    id: 'Listener',
    type: 'shared',
    lazy: false,
    
    listeners: {
        'time:up': function(date, from) {
            var body = $(document.body);
            
            $('<p>[Listener] Time: ' + date + ' received from ' + from + '</p>').appendTo(body);
            body.animate({ scrollTop: body.height() + 'px' });
        }
    }
});