(function ($) { $(function () { class People{ constructor(selector, data){ this.selector = selector; this.data = data; this.template = '#people_template'; // this.sample_people = { // login: '01515b52-6936-46b2-a000-9ad4cd7a5b50', // firstname: "first", // lastname: "last", // phone: '041122221', // email: 'abc@gmail.com', // pay: 0, // hour: 12, // OT: 3, // petrol: 50, // rating: 1, // }; this.load_data(this.data); } load_data(data){ var template = $(this.template).html(); var html = Mustache.render(template, data); $(this.selector).html(html); //save it $(this.selector).data(data); //draw rating star this.set_ratings(this.data.rating); this.set_unconfirmed_job(this.data.unconfirmedjob); } set_ratings(num){ for (var i=1; i<= 5; i++){ if (i <=num){ $(this.selector + " div[name='rating'] span:nth-child(" +i+ ")").addClass('checked'); }else{ $(this.selector + " div[name='rating'] span:nth-child(" +i+ ")").removeClass('checked'); } } this.data.rating = num; } set_unconfirmed_job(num){ if( num == 0 ) $(this.selector + " span[name='badge']").hide(); else $(this.selector + " span[name='badge']").show(); this.data.unconfirmedjob = num; } }//end of class People function bts_people_html(data){ var template = $('#people_template').html(); var head = '