;(function () { 'use strict'; /** * Draw simple pie bar chart. * @namespace */ db.libs.peopleChart = (function($){ var name = 'peopleChart'; var update = function(id){ var $id = $(id); var options = $id.data('options'); $id.find('li').each(function(i, li){ if(i < options.series[1]){ $(li).addClass('active'); } else { $(li).removeClass('active'); } }); return $id; }; var series = function(id, data){ var $id = $(id); var options = $id.data('options'); options.series = db.libs.chart.parse(data); options.people = []; for(var i = 0; i < options.series[0]; i++){ if(i < options.series[1]){ options.people.push(true); } else { options.people.push(false); } } options.width = (100 / Math.ceil( options.series[0] / options.rows )); options.type = db.templates['chart-people-'+options.type]; $id.data('options', options); return $id; }; var render = function(id){ var $id = $(id); var options = $id.data('options'); $id.html( Mustache.render(db.templates['chart-people'], options) ); $id.get(0).dispatchEvent( new Event('rendered') ); return $id; }; var init = function(id, options){ var $targets; if(id !== undefined){ $targets = $(id); } else { $targets = $('.people[data-options]'); } $targets.each(function(i, el){ if( !db.utils.isInitialized(el, name) ){ var $el = $(el); var defaults = { series: [], type: 'men', rows: 1, }; if(id === undefined){ options = Foundation.utils.data_options($el); } options = $.extend({}, defaults, options); $el.data('options', options); series($el, options.series); render($el); db.utils.initialized(el, name); } }); return $targets; }; return { init: init, reflow: function(){}, series: series, update: update, render: render }; })(jQuery); })();