diff --git a/hwe/js/currentCity.js b/hwe/js/currentCity.js deleted file mode 100644 index 68e7876e..00000000 --- a/hwe/js/currentCity.js +++ /dev/null @@ -1,23 +0,0 @@ -$(function() { - $('#citySelector').select2({ - theme: 'bootstrap4', - placeholder: "도시를 선택해 주세요.", - allowClear: false, - language: "ko", - containerCss: { - display: "inline-block !important", - color: 'white !important' - }, - containerCssClass: 'simple-select2-align-center bg-secondary text-secondary', - dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary', - }); - $('#citySelector').on('select2:select', function(e){ - var data = e.params.data; - if(!data.selected || data.disabled){ - return; - } - var $obj = $('#citySelector').parents('form'); - $obj.submit(); - console.log($obj); - }); -}); \ No newline at end of file diff --git a/hwe/js/diplomacy.js b/hwe/js/diplomacy.js deleted file mode 100644 index da2b741e..00000000 --- a/hwe/js/diplomacy.js +++ /dev/null @@ -1,422 +0,0 @@ - - -function submitLetter(){ - var $brief = $('#inputBrief'); - var $detail = $('#inputDetail'); - var $prevNo = $('#inputPrevNo'); - var $destNation = $('#inputDestNation'); - 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; - } - - console.log(brief); - 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){ - $brief.val(brief); - $detail.val(detail); - return quickReject('외교 서신을 보내는데 실패했습니다.'); - } - if(!data.result){ - $brief.val(brief); - $detail.val(detail); - return quickReject('외교 서신을 보내는데 실패했습니다. : '+data.reason); - } - - alert('전송했습니다.'); - location.reload(); - - }, errUnknown) - .fail(function(reason){ - alert(reason); - }); - - return false; -} - -function repondLetter(letterNo, isAgree, reason){ - $.post({ - url:'j_diplomacy_respond_letter.php', - dataType:'json', - data:{ - letterNo:letterNo, - isAgree:isAgree, - reason:reason, - } - }).then(function(data){ - if(!data){ - return quickReject('응답을 실패했습니다.'); - } - if(!data.result){ - return quickReject('응답을 실패했습니다. : '+data.reason); - } - - if(isAgree){ - alert('승인했습니다.'); - } - else{ - alert('거부했습니다.'); - } - - location.reload(); - return false; - - }, errUnknown) - .fail(function(reason){ - alert(reason); - }); - - return false; -} - -function rollbackLetter(letterNo){ - $.post({ - url:'j_diplomacy_rollback_letter.php', - dataType:'json', - data:{ - letterNo:letterNo, - } - }).then(function(data){ - if(!data){ - return quickReject('회수를 실패했습니다.'); - } - if(!data.result){ - return quickReject('회수를 실패했습니다. : '+data.reason); - } - - alert('회수 했습니다.'); - - location.reload(); - return false; - - }, errUnknown) - .fail(function(reason){ - alert(reason); - }); - - return false; -} - -function destroyLetter(letterNo){ - $.post({ - url:'j_diplomacy_destroy_letter.php', - dataType:'json', - data:{ - letterNo:letterNo, - } - }).then(function(data){ - if(!data){ - return quickReject('파기를 실패했습니다.'); - } - if(!data.result){ - return quickReject('파기를 실패했습니다. : '+data.reason); - } - - if(data.state == 'activated'){ - alert('파기를 요청 했습니다.'); - } - else{ - alert('파기 되었습니다.'); - } - - location.reload(); - return false; - - }, errUnknown) - .fail(function(reason){ - alert(reason); - }); - - return false; -} - -function drawLetter(idx, letterObj){ - - if(letterObj.state == 'cancelled'){ - //TODO: 취소되거나, 대체된 문서도 보여줄 방법을 찾아볼 것 - return; - } - - console.log(letterObj); - - var $letterFrame = $('#letterTemplate > .letterFrame'); - - var srcColorFormat = { - 'background-color':letterObj.src.nationColor, - 'color':isBrightColor(letterObj.src.nationColor)?'#000000':'#ffffff' - }; - - var destColorFormat = { - 'background-color':letterObj.dest.nationColor, - 'color':isBrightColor(letterObj.dest.nationColor)?'#000000':'#ffffff' - }; - - var targetNation = letterObj.src.nationID==myNationID?letterObj.dest:letterObj.src; - var targetColor = letterObj.src.nationID==myNationID?destColorFormat:srcColorFormat; - - var $letter = $letterFrame.clone(); - - if(letterObj.state == 'replaced'){ - $letter.hide(); - } - - $letter.addClass('letterObj') - .data('no', letterObj.no) - .data('brief', letterObj.brief) - .data('detail', letterObj.detail) - .attr('id', 'letter_'+letterObj.no); - - $letter.find('.letterHeader').css(targetColor); - $letter.find('.letterNationName').text(targetNation.nationName); - $letter.find('.letterDate').text(letterObj.date); - $letter.find('.letterNo').text('#'+letterObj.no); - - var stateText = { - 'proposed':'제안됨', - 'activated':'승인됨', - 'cancelled':'거부됨', - 'replaced':'대체됨', - }; - - var stateOptionText = { - 'try_destroy_src':'송신측의 파기 요청', - 'try_destroy_dest':'수신측의 파기 요청', - } - $letter.find('.letterStatus').text(stateText[letterObj.state]); - - if(letterObj.state_opt !== null){ - $letter.find('.letterStatusOpt').text('('+stateOptionText[letterObj.state_opt]+')'); - } - if(letterObj.prev_no !== null){ - var $showPrev = $('#{0}'.format(letterObj.prev_no)); - $showPrev.click(function(){ - $('#letter_'+letterObj.prev_no).toggle(); - }) - $letter.find('.letterPrevNo').html($showPrev); - } - else{ - $letter.find('.letterPrevNo').text('신규'); - } - $letter.find('.letterBrief').html(nl2br(escapeHtml(letterObj.brief))); - $letter.find('.letterDetail').html(nl2br(escapeHtml(letterObj.detail))); - - $letter.find('.letterSrc .signerImg img.generalIcon').attr('src', letterObj.src.generalIcon); - $letter.find('.letterSrc .signerNation').text(letterObj.src.nationName).css(srcColorFormat); - $letter.find('.letterSrc .signerName').text(letterObj.src.generalName).css(srcColorFormat); - - if(letterObj.dest.generalName){ - $letter.find('.letterDest .signerImg img.generalIcon').attr('src', letterObj.dest.generalIcon); - $letter.find('.letterDest .signerNation').text(letterObj.dest.nationName).css(destColorFormat); - $letter.find('.letterDest .signerName').text(letterObj.dest.generalName).css(destColorFormat); - } - - if(letterObj.state == 'proposed' && letterObj.src.nationID != myNationID){ - $letter.find('.btnAgree').show().click(function(){ - if(!confirm('승인하시겠습니까?')){ - return false; - } - return repondLetter(letterObj.no, true, null); - }); - $letter.find('.btnDisagree').show().click(function(){ - var reason = prompt('거부하시겠습니까? (이유 [최대 50자])'); - if(reason === null){ - return false; - } - reason = substr.substr(0, 50); - return repondLetter(letterObj.no, false, reason); - }); - } - - if(letterObj.state == 'proposed' && letterObj.src.nationID == myNationID){ - $letter.find('.btnRollback').show().click(function(){ - if(!confirm('회수하시겠습니까?')){ - return false; - } - return rollbackLetter(letterObj.no); - }); - } - - if(letterObj.state == 'activated'){ - var $btnDestroy = $letter.find('.btnDestroy'); - if((letterObj.src.nationID==myNationID && letterObj.state_opt == 'try_destroy_src') || - (letterObj.dest.nationID==myNationID && letterObj.state_opt == 'try_destroy_dest')){ - $btnDestroy.show().prop('disabled', true); - } - else{ - $btnDestroy.show().click(function(){ - if(!confirm('본 문서를 파기하겠습니까? (상호 동의 필요)')){ - return false; - } - return destroyLetter(letterObj.no); - }) - - } - } - - - $letter.find('.btnRenew').click(function(){ - var $inputPrevNo = $('#inputPrevNo'); - $inputPrevNo.val(letterObj.no); - $inputPrevNo.trigger('change'); - }) - - - $('#letters').prepend($letter); -} - -function initNewLetterForm(lettersObj){ - console.log(lettersObj); - var nationList = []; - $.each(lettersObj.nations, function(idx, nation){ - nation.id = nation.nation; - nation.text = nation.name; - nationList.push(nation); - }) - - var $destNation = $('#inputDestNation').select2({ - theme: 'bootstrap4', - placeholder: "", - language: "ko", - width:300, - containerCss: { - display: "inline-block !important;", - color: 'white !important' - }, - data:nationList, - templateResult: colorNation, - containerCssClass: 'simple-select2-align-center bg-secondary text-secondary', - dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary', - }); - - - var prevNoList = [{ - id:0, - text:'-새 문서-', - nation:null, - }]; - - $.each(lettersObj.letters, function(idx, letterObj){ - if(letterObj.state == 'replaced' || letterObj.state == 'cancelled'){ - return true; - } - var targetNation = letterObj.src.nationID==myNationID?letterObj.dest:letterObj.src; - prevNoList.push({ - id:letterObj.no, - text:'#{0} <{1}>'.format(letterObj.no, targetNation.nationName), - nation:targetNation.nationID - }); - }); - - var $inputPrevNo = $('#inputPrevNo').select2({ - theme: 'bootstrap4', - placeholder: "", - language: "ko", - width:300, - containerCss: { - display: "inline-block !important;", - color: 'white !important' - }, - data:prevNoList, - containerCssClass: 'simple-select2-align-center bg-secondary text-secondary', - dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary', - }); - $inputPrevNo.on('change', function(e){ - var data = $inputPrevNo.select2('data')[0]; - console.log(data); - if(data.nation == null){ - $destNation.prop("disabled", false); - } - else{ - $destNation.val(data.nation).prop("disabled", true); - var $targetLetter = $('#letter_'+data.id); - resizeTextarea($('#inputBrief').val($targetLetter.data('brief'))); - resizeTextarea($('#inputDetail').val($targetLetter.data('detail'))); - } - }); - - $('#btnSend').click(submitLetter); - - $('#newLetter').show(); -} - -function drawLetters(lettersObj){ - var deferred = $.Deferred(); - if(!lettersObj){ - return quickReject('받아오는데 실패했습니다.'); - } - - if(!lettersObj.result){ - return quickReject('에러가 발생했습니다. : '+lettersObj.reason); - } - - window.myNationID = lettersObj.myNationID; - - if(permissionLevel == 4){ - initNewLetterForm(lettersObj); - $('.letterActionPlate').show(); - } - - $('.letterObj').detach();//첫 버전이니까 일괄 삭제 일괄 로드 - $.each(lettersObj.letters, drawLetter); - return true; -} - -function loadLetters(){ - return $.post({ - url:'j_diplomacy_get_letter.php', - dataType:'json', //첫 버전이니까 전체 다 불러오자 - data:{ - } - }); -} - -function colorNation(nationInfo){ - if(!nationInfo.color){ - return nationInfo.text; - } - - var fgColor = isBrightColor(nationInfo.color)?'#000000':'#ffffff'; - var $nationForm = $('
'+nationInfo.text+'
').css({ - 'color':fgColor, - 'background-color':nationInfo.color - }); - return $nationForm; -} - -function resizeTextarea($obj){ - $obj.height(1).height($obj.prop('scrollHeight')+12 ); -} - -$(function(){ - -$('textarea.autosize').on('keydown keyup', function(){ - resizeTextarea($(this)); -}) - -loadLetters() -.then(drawLetters, errUnknown) -.fail(function(reason){ - alert(reason); -}); - -}); \ No newline at end of file