let rank_list = [];
$(document).ready(() => {
fnLoadRanking(1, true);
});
// 랭킹 셀렉트 제어
$('.btn_sel_ranking').on('click', function () {
$('.sel_ranking').toggle();
$('.icon_arrow').toggleClass('up');
});
function fnLoadRanking(rank_type, first = false) {
$.ajax({
dataType: "json",
type: "post",
data: {
"gid": gid,
"rank_type": rank_type,
"first": first,
},
url: "/rank_list",
success: function (data) {
strHtml = '';
if (data.rank_type == 3) {
$('.r_date').text('');
} else {
$('.r_date').text(data.start_date + '~' + data.end_date);
}
$('.sel_ranking li').removeClass('on');
$('#rank_type_'+data.rank_type).addClass('on');
$('.btn_sel_ranking').html($('#rank_type_'+data.rank_type).text()+'');
if (!first) {
$('.sel_ranking').toggle();
$('.icon_arrow').toggleClass('up');
}
rank_list = data.rank_list;
if (data.rank_list.length > 1) {
// 2등이 먼저 와라..
[data.rank_list[0], data.rank_list[1]] = [data.rank_list[1], data.rank_list[0]];
for (let i = 0; i < 3; i++) {
strHtml += '
';
if (data.rank_list.length > i) {
strHtml += '';
strHtml += '
';
strHtml += '

';
strHtml += '
';
strHtml += '
' + data.rank_list[i].ranking + '';
if (data.rank_list[i].level !== null) {
strHtml += '
'+data.rank_list[i].level+'';
}
if (data.rank_list[i].is_mine == 1) {
strHtml += '
my';
}
strHtml += '
';
strHtml += '';
strHtml += ''+data.rank_list[i].nick+'';
if (data.rank_list[i].group !== null) {
strHtml += '['+data.rank_list[i].group+']';
}
strHtml += '
';
strHtml += '' + parseInt(data.rank_list[i].score).toLocaleString() + '
';
}
strHtml += '';
}
} else if (data.rank_list.length === 1) {
// 1등밖에 없으니까 1등 표시.
strHtml += '';
strHtml += '';
strHtml += '';
strHtml += '
';
strHtml += '

';
strHtml += '
';
strHtml += '
'+data.rank_list[0].ranking+'';
if (data.rank_list[0].level !== null) {
strHtml += '
'+data.rank_list[0].level+'';
}
if (data.rank_list[0].is_mine == 1) {
strHtml += '
my';
}
strHtml += '
';
strHtml += '';
strHtml += ''+data.rank_list[0].nick+'';
if (data.rank_list[0].group !== null) {
strHtml += '['+data.rank_list[0].group+']';
}
strHtml += '
';
strHtml += ''+parseInt(data.rank_list[0].score).toLocaleString()+'
';
strHtml += '';
strHtml += '';
} else {
if (!mobile) {
$('.ranking_wrap').addClass('no_result');
}
strHtml += ''+first_ranking+'
';
}
$('.award_list').html(strHtml);
// 4~ 10등 표시.
strHtml = '';
for (let i = 3; i < 10; i++) {
if (data.rank_list.length > i) {
strHtml += '';
strHtml += ''+data.rank_list[i].ranking+'
';
strHtml += '';
strHtml += '
';
strHtml += '
';
strHtml += ''+data.rank_list[i].nick+'';
if (data.rank_list[i].group !== null) {
// 모바일 글자 길면 두줄로 나눠서 출력
if (mobile && data.rank_list[i].nick.length + data.rank_list[i].group.length >= 16) {
strHtml += '
';
}
strHtml += '['+data.rank_list[i].group+']';
}
strHtml += '
';
// PC 글자 길면 화살표 추가
if (data.rank_list[i].group !== null && !mobile && data.rank_list[i].nick.length + data.rank_list[i].group.length >= 20) {
strHtml += '
';
}
if (data.rank_list[i].is_mine == 1) {
strHtml += '
my';
}
strHtml += '
';
strHtml += '
';
strHtml += ''+parseInt(data.rank_list[i].score).toLocaleString()+'
';
strHtml += '';
}
}
$('.txt_list').html(strHtml);
// 내 랭킹 표시
if (data.my_rank != null) {
$('.my_list .ranking').text(data.my_rank.ranking);
$('.my_list .name').text(data.my_rank.nick);
$('.my_list .group').text('['+data.my_rank.group+']');
$('.my_list .score').text(Number(data.my_rank.point).toLocaleString());
$('.my_list').show();
$('.ranking_wrap .no_result').hide();
} else {
$('.my_list').hide();
$('.ranking_wrap .no_result').show();
}
}
});
}
function fnSetFullName(i, obj) {
full_name = rank_list[i]['nick'];
full_group = rank_list[i]['group'];
obj_name = $('#data_rank_'+i+' .nick_inner .name');
obj_group = $('#data_rank_'+i+' .nick_inner .group');
if ($(obj).hasClass('btn_nick_next')) {
obj_name.text(obj_name.text().slice(full_group.length - 15));
$(obj).removeClass('btn_nick_next').addClass('btn_nick_prev');
} else {
obj_name.text(full_name);
$(obj).addClass('btn_nick_next').removeClass('btn_nick_prev');
}
}