init
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Document : radio.js
|
||||
* Author : Gerrit Linnemann
|
||||
* Description: Radio-functionallity.
|
||||
*
|
||||
*/
|
||||
|
||||
var Radio = function() {
|
||||
|
||||
var channels;
|
||||
var $navigation;
|
||||
|
||||
return {
|
||||
init: function(channels_) {
|
||||
channels = channels_;
|
||||
$navigation = $('#navigation');
|
||||
|
||||
initTiles();
|
||||
console.log('Radio initialized with ' + channels.length + ' channels');
|
||||
}
|
||||
};
|
||||
|
||||
/* private */
|
||||
function initTiles() {
|
||||
var $tileTemplate = $navigation.find('.tile.template');
|
||||
|
||||
var counter = 1;
|
||||
while(counter <= channels.length) {
|
||||
var idx = counter - 1;
|
||||
var channel = channels[idx];
|
||||
var $tile = $tileTemplate.clone();
|
||||
|
||||
fillTileWithChannel($tile, channel);
|
||||
addClickToTile($tile);
|
||||
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
/* private */
|
||||
function fillTileWithChannel($tile, channel) {
|
||||
$tile.appendTo($navigation);
|
||||
|
||||
$tile.attr('href', channel.stream).attr('title', channel.title).attr('data-type', channel.type);
|
||||
$tile.find('.icon').attr('src', channel.icon);
|
||||
$tile.find('.title').html(channel.title).hide();
|
||||
|
||||
$tile.hide();
|
||||
$tile.removeClass('hidden');
|
||||
$tile.fadeIn();
|
||||
}
|
||||
|
||||
/* private */
|
||||
function addClickToTile($tile) {
|
||||
$tile.click(function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var stream = $tile.attr('href');
|
||||
console.log('Stream: ' + stream);
|
||||
});
|
||||
}
|
||||
|
||||
}();
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user