import axios from "axios"; import { unwrap } from "@util/unwrap"; import { RuntimeError } from "@util/RuntimeError"; declare global { interface Window { userList: Record>; } } export function launchTroopPlugin($: JQueryStatic): void { let userList: Record> = {}; const basicPath = (() => { const path = document.location.pathname; return path.substring(0, path.lastIndexOf('/')); })(); const $userFrame: JQuery = $("
" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "
이 름통무지자 금군 량도시병 종병 사훈련사기명 령삭턴
"); $userFrame.find('thead td'); $userFrame.css('width', '960px').css('margin', '0').css('padding', '0').css('left', '50%').css('margin-left', '-480px'); $userFrame.hide(); const runAnalysis = async function () { userList = {}; const $content = $('#on_mover .content'); $content.html(''); const response = await axios.get(`${basicPath}/b_genList.php`, {responseType: 'text'}); const rawData = response.data; try { const $html = $(rawData); const tmpUsers: JQuery = (() => { let tmpUsers = undefined; $html.each(function () { const $this = $(this); if ($this.attr('id') == "general_list") { tmpUsers = $(this); return false; } }); if (tmpUsers === undefined) { throw new RuntimeError(); } return tmpUsers; })() tmpUsers.find("tbody > tr").each(function () { const $this = $(this); const $부대 = $this.children('.i_troop'); const 부대 = $.trim($부대.text()); if (부대 == '-') { //부대 안탔음! return; } $부대.remove(); const generalID = parseInt($this.data('general-id')); userList[generalID] = $this; $this.hide(); $content.append($this); }); $('.troopUser').hover(function () { const $this = $(this); const parent = $this.closest('tr'); const generalID = parseInt($this.data('general-id')); console.log(generalID); const top = unwrap(parent.offset()).top + unwrap(parent.outerHeight()); $userFrame.css('top', top); userList[generalID].show(); $userFrame.show(); }, function () { const $this = $(this); const generalID = parseInt($this.data('general-id')); userList[generalID].hide(); $userFrame.hide(); }); } catch (err) { console.log(err); } }; const $frame = $('table:eq(0) td:eq(0)'); $frame.find('br:last').remove(); const $btn = $(''); $btn.click(async function () { await runAnalysis(); }); $frame.append($btn); window.userList = userList; $('body').append($userFrame); }