Files
chocomae/src/web/js/player_list_manager.js
T
2018-07-28 17:09:45 +09:00

250 lines
6.5 KiB
JavaScript

class PlayerListManager {
constructor(docList, docNav) {
let self = this;
this.docList = docList;
this.docNav = docNav;
this.playerListID = $(docList).attr("id");
this.list = new PlayerList(this.docList, this);
this.list.updatePlayerList(null);
this.listNavigator = new PlayerListNavigator(this, this.list, this.docNav);
this.playerCount = 0;
this.activePageNo = 1;
this.lastPageNo = 0;
this.searchPlayerName = "";
}
setupAddPlayerList() {
let self = this;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/registered_player_count.php",
"maestro_id=" + maestroID,
(jsonData) => {
self.playerCount = jsonData["playerCount"];
self.lastPageNo = Math.ceil( (self.playerCount + 1) / 10 );
self.activePageNo = 1;
self.loadAddPlayerListPage(self.activePageNo);
self.listNavigator.updateNavigator(self.activePageNo, self.lastPageNo);
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
loadAddPlayerListPage(pageNo) {
let self = this;
this.activePageNo = pageNo;
let pageIndex = pageNo - 1;
let startNo = pageIndex * 10;
let endNo = pageIndex * 10 + 9;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/registered_player_list.php",
"maestro_id=" + maestroID + "&start_no=" + startNo + "&end_no=" + endNo,
(jsonData) => {
self.playerCount = jsonData["playerList"].length;
self.list.updatePlayerList(jsonData["playerList"]);
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
updateAddPlayerListPage(pageNo) {
let self = this;
this.playerListPage = pageNo;
let pageIndex = pageNo - 1;
let startNo = pageIndex * 10;
let endNo = pageIndex * 10 + 9;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/registered_player_list.php",
"maestro_id=" + maestroID + "&start_no=" + startNo + "&end_no=" + endNo,
(jsonData) => {
self.playerCount = jsonData["playerList"].length;
self.list.updatePlayerList(jsonData["playerList"]);
self.listNavigator.updateNavigator(self.activePageNo, self.lastPageNo);
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
setupSearchPlayerList(playerName) {
let self = this;
this.searchPlayerName = playerName;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/search_player_count.php",
"maestro_id=" + maestroID + "&player_name=" + this.searchPlayerName,
(jsonData) => {
self.playerCount = jsonData["playerCount"];
self.lastPageNo = Math.ceil( (self.playerCount + 1) / 10 );
self.activePageNo = 1;
self.updateSearchPlayerListPage(this.searchPlayerName, 1);
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
updateSearchPlayerListPage(playerName, pageNo) {
let self = this;
this.playerListPage = pageNo;
let pageIndex = pageNo - 1;
let startNo = pageIndex * 10;
let endNo = pageIndex * 10 + 9;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/search_player_list.php",
"maestro_id=" + maestroID + "&player_name=" + playerName + "&start_no=" + startNo + "&end_no=" + endNo,
(jsonData) => {
self.playerCount = jsonData["playerList"].length;
self.list.updatePlayerList(jsonData["playerList"]);
self.listNavigator.updateNavigator(self.activePageNo, self.lastPageNo);
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
editPlayer(inputButton) {
let self = this;
console.log(inputButton);
// let clickedObjectID = this.getClickedObjectID(inputButton);
let id = $(inputButton).siblings(".player_id");
let playerID = id.text();
console.log(playerID);
let name = $(inputButton).siblings(".player_name");
let playerName = name.val();
console.log(playerName);
let enterCode = $(inputButton).siblings(".player_entercode");
let playerEnterCode = enterCode.val();
console.log(playerEnterCode);
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/edit_player.php",
"maestro_id=" + maestroID + "&player_id=" + playerID + "&player_name=" + playerName + "&enter_code=" + playerEnterCode,
(jsonData) => {
console.log(jsonData);
if(this.playerListID === "add_player_list") {
self.setupAddPlayerList();
} else if(this.playerListID === "search_player_list") {
// let playerName = $("#search_name").val();
self.setupSearchPlayerList(this.searchPlayerName);
}
showErrorMessage("학생 데이터가 [ " + playerName + " / " + playerEnterCode + " ] 으로 변경되었습니다.", "success");
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
deletePlayer(inputButton) {
let self = this;
let id = $(inputButton).siblings(".player_id");
let playerID = id.text();
let name = $(inputButton).siblings(".player_name");
let playerName = name.val();
console.log(playerName);
// let clickedObjectID = this.getClickedObjectID(inputButton);
if(playerID === null || playerID === "")
return;
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/player/delete_player.php",
"maestro_id=" + maestroID + "&player_id=" + playerID,
(jsonData) => {
if(this.playerListID === "add_player_list") {
self.setupAddPlayerList();
} else if(this.playerListID === "search_player_list") {
// let searchPlayerName = $("#search_name").val();
self.setupSearchPlayerList(searchPlayerName);
}
showErrorMessage("[ " + playerName + "] 학생 데이터가 삭제되었습니다.", "success");
onChangePlayerCount();
},
(errorMessage, errorCode) => {
if($("#error_message").length) {
$("#error_message").text(errorMessage);
}
}
);
}
onClickPageNo(pageNo) {
let self = this;
self.activePageNo = pageNo;
if(this.playerListID === "add_player_list") {
self.updateAddPlayerListPage(self.activePageNo);
} else if(this.playerListID === "search_player_list") {
self.updateSearchPlayerListPage(this.searchPlayerName, self.activePageNo);
}
}
}