From e99fd50cbc6c0bbf382682fdda181c3274bef38a Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Sun, 29 Jan 2023 19:14:42 +0700 Subject: [PATCH 1/2] added table in my.html --- src/main/webapp/html/my.html | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/main/webapp/html/my.html b/src/main/webapp/html/my.html index eb66ac55..3877f8f6 100644 --- a/src/main/webapp/html/my.html +++ b/src/main/webapp/html/my.html @@ -7,5 +7,25 @@

RPG admin panel

+ + + + + + + + + + + + + + +
#NameTitleTitleRaceProfessionLevelBirthdayBanned
+ + + \ No newline at end of file From 37c330a579749466e177525d1d6296373ddc7057 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Wed, 1 Feb 2023 23:17:23 +0700 Subject: [PATCH 2/2] fixed my.xml --- src/main/webapp/html/my.html | 297 ++++++++++++++++++++++++++++++++++- 1 file changed, 292 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/html/my.html b/src/main/webapp/html/my.html index 3877f8f6..3adcf949 100644 --- a/src/main/webapp/html/my.html +++ b/src/main/webapp/html/my.html @@ -4,28 +4,315 @@ - +

RPG admin panel

+ +

Accounts list:

- + + +
- + +
# Name TitleTitle Race Profession Level Birthday BannedEditDelete
- +
+
+ Pages: +
+
+

+ Create new account: +

+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + function getTotalCount() { + let url = "/rest/players/count"; + let res = 0; + $.ajax({ + url: url, + async: false, + success: function (result) { + res = parseInt(result); + } + }); + return res; + } + + function deleteAcc(id) { + let url = "/rest/players/" + id; + $.ajax({ + url: url, + type: 'DELETE', + async: false, + success: function () { + showList(getCurrentPage()); + } + }); + } + + function editAcc(id) { + let identifierEdit = "#button_edit_" + id; + let identifierDelete = "#button_delete_" + id; + $(identifierDelete).remove(); + let saveImageTag = ""; + $(identifierEdit).html(saveImageTag); + + let currentTrElement = $(identifierEdit).parent().parent(); + let children = currentTrElement.children(); + let tdNAme = children[1]; + tdNAme.innerHTML = ""; + + let tdTitle = children[2]; + tdTitle.innerHTML = ""; + + let tdRace = children[3]; + let raceId = "#select_race_" + id; + let raceCurrentValue = tdRace.innerHTML; + tdRace.innerHTML = getDropdownRaceHtml(id); + $(raceId).val(raceCurrentValue).change(); + + let tdProfession = children[4]; + let professionId = "#select_profession_" + id; + let professionCurrentValue = tdProfession.innerHTML; + tdProfession.innerHTML = getDropdownProfessionHtml(id); + $(professionId).val(professionCurrentValue).change(); + let tdBanned = children[7]; + let bannedId = "#select_banned_" + id; + let bannedCurrentValue = tdBanned.innerHTML; + tdBanned.innerHTML = getDropdownBannedHtml(id); + $(bannedId).val(bannedCurrentValue).change(); + + let propertySaveTag = "saveAcc(" + id + ")"; + $(identifierEdit).attr('onclick', propertySaveTag); + } + + function createAcc() { + let valueName = $("#inputNameNew").val(); + let valueTitle = $("#inputTitleNew").val(); + let valueRace = $("#inputRaceNew").val(); + let valueProfession = $("#inputProfessionNew").val(); + let valueLevel = $("#inputLevelNew").val(); + let valueBirthday = $("#inputBirthdayNew").val(); + let valueBanned = $("#inputBannedNew").val(); + + let url = "/rest/players"; + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + async: false, + data: JSON.stringify({ + "name": valueName, + "title": valueTitle, + "race": valueRace, + "profession": valueProfession, + "level": valueLevel, + "birthday": new Date(valueBirthday).getTime(), + "banned": valueBanned + }), + success: function () { + $("#inputNameNew").val(""); + $("#inputTitleNew").val(""); + $("#selectRaceNew").val(""); + $("#selectProfessionNew").val(""); + $("#selectLevelNew").val(""); + $("#selectBirthdayNew").val(""); + $("#selectBannedNew").val(""); + showList(getCurrentPage()); + } + }); + } + + function saveAcc(id) { + let valueName = $("#input_name_" + id).val(); + let valueTitle = $("#input_title_" + id).val(); + let valueRace = $("#select_race_" + id).val(); + let valueProfession = $("#select_profession_" + id).val(); + let valueBanned = $("#select_banned_" + id).val(); + let url = "/rest/players/" + id; + $.ajax({ + url: url, + type: 'POST', + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + async: false, + data: JSON.stringify({ + "name": valueName, + "title": valueTitle, + "race": valueRace, + "profession": valueProfession, + "banned": valueBanned + }), + success: function () { + showList(getCurrentPage()); + } + }); + } + + function getDropdownBannedHtml(id) { + let bannedId = "select_banned_" + id; + return "" + + "" + } + + function getDropdownProfessionHtml(id) { + let professionId = "select_profession_" + id; + return "" + + "" + } + + function getDropdownRaceHtml(id) { + let raceId = "select_race_" + id; + return "" + + "" + } + + function getCurrentPage() { + let currentPage = 1; + $('button:parent(div)').each(function () { + if ($(this).css('color') === 'rgb(255, 0, 0)') { + currentPage = $(this).text(); + } + }); + return parseInt(currentPage) - 1; + } + \ No newline at end of file