152 lines
3.7 KiB
JavaScript
152 lines
3.7 KiB
JavaScript
|
|
|
|
function submitLetter(){
|
|
var $letter = $('#newLetter');
|
|
var $brief = $letter.find('input.briefInput');
|
|
var $detail = $letter.find('input.detailInput');
|
|
var $prevNo = $letter.find('input.prevNo');
|
|
var $destNation = $letter.find('input.destNation');
|
|
var brief = $.trim($brief.val());
|
|
var detail = $.trim($detail.val());
|
|
var prevNo = parseInt($prevNo.val());
|
|
var destNation = parseInt($destNation.val());
|
|
|
|
if(prevNo !== null && prevNo < 1){
|
|
prevNo = null;
|
|
}
|
|
|
|
|
|
if(!brief){
|
|
return false;
|
|
}
|
|
|
|
$brief.val('');
|
|
$detail.val('');
|
|
|
|
$.post({
|
|
url:'j_diplomacy_send_letter.php',
|
|
dataType:'json',
|
|
data:{
|
|
brief:brief,
|
|
detail:detail,
|
|
destNation:destNation,
|
|
prevNo:prevNo
|
|
}
|
|
}).then(function(data){
|
|
if(!data){
|
|
$title.val(title);
|
|
$text.val(text);
|
|
alert()
|
|
return quickReject('외교 서신을 보내는데 실패했습니다.');
|
|
}
|
|
if(!data.result){
|
|
$title.val(title);
|
|
$text.val(text);
|
|
return quickReject('외교 서신을 보내는데 실패했습니다. : '+data.reason);
|
|
}
|
|
|
|
return loadLetters().done(drawLetters);
|
|
|
|
}, errUnknown)
|
|
.fail(function(reason){
|
|
alert(reason);
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function repondLetter(isAgree){
|
|
var $this = $(this);
|
|
var $letter = $this.parents('.letter').eq(0);
|
|
var letterNo = $letter.data('no');
|
|
|
|
$.post({
|
|
url:'j_diplomacy_respond_letter.php',
|
|
dataType:'json',
|
|
data:{
|
|
letterNo:letterNo,
|
|
isAgree:isAgree,
|
|
reason:'', //TODO: reason 받기
|
|
}
|
|
}).then(function(data){
|
|
if(!data){
|
|
$text.val(text);
|
|
alert()
|
|
return quickReject('응답을 실패했습니다.');
|
|
}
|
|
if(!data.result){
|
|
$text.val(text);
|
|
return quickReject('응답을 실패했습니다. : '+data.reason);
|
|
}
|
|
|
|
return loadArticles().done(drawLetters);
|
|
|
|
}, errUnknown)
|
|
.fail(function(reason){
|
|
alert(reason);
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function drawLetter(letterObj){
|
|
var $letterFrame = $('#letterTemplate > .letterFrame');
|
|
|
|
var $letter = $letterFrame.clone();
|
|
$letter.addClass('letterObj')
|
|
.data('no', letterObj.no)
|
|
|
|
//TODO: 국가명, 수뇌명 입력
|
|
$letter.find('.date').text(letterObj.date);
|
|
$letter.find('.letterNo').text('#'+letterObj.no);
|
|
$letter.find('.srcNation').text(letterObj.aux[''])
|
|
$letter.find('.brief').html(nl2br(escapeHtml(letterObj.brief)));
|
|
$letter.find('.detail').html(nl2br(escapeHtml(letterObj.detail)));
|
|
//TODO: 바꿀 것
|
|
|
|
$('#board').append($letter);
|
|
}
|
|
|
|
function drawLetters(lettersObj){
|
|
var deferred = $.Deferred();
|
|
if(!lettersObj){
|
|
return quickReject('받아오는데 실패했습니다.');
|
|
}
|
|
|
|
//TODO: 국가 리스트 출력
|
|
|
|
if(!lettersObj.result){
|
|
return quickReject('에러가 발생했습니다. : '+lettersObj.reason);
|
|
}
|
|
|
|
$('.letterObj').detach();//첫 버전이니까 일괄 삭제 일괄 로드
|
|
$.each(lettersObj.letters, drawLetter);
|
|
return true;
|
|
}
|
|
|
|
function loadLetters(){
|
|
return $.post({
|
|
url:'j_diplomacy_get_letters.php',
|
|
dataType:'json', //첫 버전이니까 전체 다 불러오자
|
|
data:{
|
|
}
|
|
});
|
|
}
|
|
|
|
$(function(){
|
|
|
|
$('#submitLetter').click(submitLetter);
|
|
$('.respondAgree').click(function(){
|
|
return repondLetter(true);
|
|
});
|
|
$('.respondDisagree').click(function(){
|
|
return repondLetter(false);
|
|
});
|
|
|
|
loadLetters()
|
|
.then(drawLetters, errUnknown)
|
|
.fail(function(reason){
|
|
alert(reason);
|
|
});
|
|
|
|
}); |