Created
July 1, 2014 11:27
-
-
Save edtoken/4c54248af516352bd514 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var items = _.sortBy(this.models, function(model){ | |
var custom_data = ''; | |
custom_data += model.get('year').toString(); | |
custom_data += model.get('month').toString(); | |
custom_data += model.get('week').toString(); | |
model.set({sort_data:parseInt(custom_data)},{silent:true}); | |
return parseInt(custom_data); | |
}); | |
for(var i=0; i < items.length; i++){ | |
if(i !== 0 && items[i].get('sort_data') !== items[i-1].get('sort_data')){ | |
titles = []; | |
tmp_row_items.push(items[i]); | |
tmp_row_items = _.sortBy(tmp_row_items, function(model){ | |
return parseInt(model.get('car_id')); | |
}); | |
tmp_row_items.forEach(function(item){ | |
titles.push(item.get('car_id')); | |
}); | |
rows.push({ | |
title:titles, | |
items:tmp_row_items | |
}); | |
tmp_row_items = []; | |
}else{ | |
tmp_row_items.push(items[i]); | |
} | |
} | |
/** RENDER **/ | |
/** rows = code top **/ | |
var rows = this.collection_list.getGroup(); | |
var renderTitle = function(title, old_title){ | |
var title_line = '<tr style="font-weight:bold;text-align:center;border-bottom:1px solid #000;color:#fff;font-size:120%;">'; | |
for(var i in title){ | |
if(old_title && old_title[i] == title[i]){ | |
title_line += '<th></th>'; | |
}else if(old_title[i] !== title[i]){ | |
title_line += '<th>' + title[i]+'</th>'; | |
}else{ | |
title_line+= '<th>'+title[i]+'</th>'; | |
} | |
} | |
title_line += '</tr>'; | |
return title_line; | |
}; | |
var renderRow = function(items){ | |
var html = ''; | |
html += '<tr>'; | |
for(var i=0; i<items.length;i++){ | |
var d = items[i].toJSON(); | |
html += '<td style="padding:5px;border:1px solid #333;">'; | |
html += '<p>schedule_id: ' + d.schedule_id+'</p>'; | |
html += '<p>car_id: ' + d.car_id+'</p>'; | |
html += '<p>month: ' + d.month+'</p>'; | |
html += '<p>sort_data: ' + d.sort_data+'</p>'; | |
html += '<p>user_id: ' + d.user_id+'</p>'; | |
html += '<p>week: ' + d.week+'</p>'; | |
html += '<p>year: ' + d.year+'</p>'; | |
html += '</td>'; | |
} | |
html += '</tr>'; | |
return html; | |
}; | |
for(var i=0; i<rows.length;i++){ | |
title = ''; | |
if(i !== 0 && !_.isEqual(rows[i].title, rows[i-1].title)){ | |
title = renderTitle(rows[i].title, rows[i-1].title); | |
}else if(i === 0){ | |
title = renderTitle(rows[i].title, false); | |
} | |
row_html = renderRow(rows[i].items); | |
$('#js_schedule_table').find('table').append(title); | |
$('#js_schedule_table').find('table').append(row_html); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment