285 lines
10 KiB
HTML
285 lines
10 KiB
HTML
<script type="text/javascript">
|
|
|
|
$(document).ready(function() {
|
|
$("#entercode").keydown(function(key) {
|
|
if(key.keyCode == 13) {
|
|
addPlayer();
|
|
}
|
|
});
|
|
|
|
addPlayerListManager = new PlayerListManager(
|
|
$("#add_player_list"),
|
|
// $(".pagination")
|
|
$("[aria-label='add_player_list'] > .pagination")
|
|
);
|
|
|
|
addPlayerListManager.setupAddPlayerList();
|
|
});
|
|
|
|
function addPlayer() {
|
|
let playerName = $("#player_name").val();
|
|
let enterCode = $("#entercode").val();
|
|
|
|
if(playerName.length === 0) {
|
|
onErrorPlayerName("학생 이름을 입력하세요.");
|
|
return;
|
|
} else if(enterCode.length === 0) {
|
|
onErrorPlayerPW("입장 번호를 입력하세요.");
|
|
return;
|
|
}
|
|
|
|
|
|
if(maestroInfo.getRegisteredPlayerCount() >= maestroInfo.getMaxPlayerCount()) {
|
|
showErrorMessage("학생을 더 이상 추가할 수 없습니다. (더 많은 학생수로 업그레이드 하세요)", "error");
|
|
return;
|
|
}
|
|
|
|
if(!accountValidator.isValidPlayerID(playerName)) {
|
|
// console.log("Error - playerName : " + playerName);
|
|
onErrorPlayerName(accountValidator.messageForInvalidPlayerID(playerName));
|
|
return;
|
|
} else if(!accountValidator.isValidPlayerPW(enterCode)) {
|
|
// console.log("Error - enterCode : " + enterCode);
|
|
onErrorPlayerPW(accountValidator.messageForInvalidPlayerPW(enterCode));
|
|
return;
|
|
}
|
|
|
|
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
|
|
"./../server/player/add_player.php",
|
|
"maestro_id=" + maestroID + "&player_name=" + playerName + "&enter_code=" + enterCode,
|
|
|
|
(function(jsonData) {
|
|
showErrorMessage(playerName + " : 학생 데이터가 추가되었습니다", "success");
|
|
addPlayerListManager.updateAddPlayerListPage(1);
|
|
|
|
onChangePlayerCount();
|
|
}),
|
|
|
|
(function(errorMessage, errorCode) {
|
|
showErrorMessage(errorMessage, "error");
|
|
})
|
|
|
|
);
|
|
}
|
|
|
|
function onErrorPlayerName(message) {
|
|
showErrorMessage(message, "error");
|
|
|
|
$("#player_name").select();
|
|
$("#player_name").focus();
|
|
}
|
|
|
|
function onErrorPlayerPW(message) {
|
|
showErrorMessage(message, "error");
|
|
|
|
$("#entercode").select();
|
|
$("#entercode").focus();
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<div class="row mx-1">
|
|
|
|
<div class="col-5">
|
|
<h5 class="my-3">학생 추가</h5>
|
|
|
|
<form class="mx-2">
|
|
<div class="form-group row">
|
|
<label for="player_name" class="col-sm-3 col-form-label">이름</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control col-sm-9" id="player_name" placeholder="이름 입력">
|
|
<small class="form-text text-muted">1~8 글자 / [ 한글,영문,숫자,-,_ ]</small>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label for="entercode" class="col-sm-3 col-form-label">입장 번호</label>
|
|
<div class="col-sm-9">
|
|
<input type="number" class="form-control col-sm-9" id="entercode" min="10" step="1" maxlength="8" placeholder="입장 번호 입력">
|
|
<small class="form-text text-muted">2~8자리의 숫자</small>
|
|
<button type="button" class="col-sm-7 btn btn-primary btn-lg mt-3" onClick="addPlayer()">추가</button>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
<!--
|
|
<div class="divider"></div>
|
|
|
|
<h5 class="mt-5">학생 단체 등록</h5>
|
|
|
|
<form class="mx-2">
|
|
<div class="form-group row">
|
|
<div class="col">
|
|
<textarea class="form-control" id="exceldata" placeholder="학생 이름 | 입장 번호 엑셀 데이터를 붙여넣기"></textarea>
|
|
<small class="form-text text-muted">엑셀에서 복사한 학생의 이름/입장 번호 목록을 붙여넣기</small>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row justify-content-center">
|
|
<div class="col-sm-6">
|
|
<button type="button" class="btn btn-primary btn-lg disabled" onClick="addPlayer()">단체 목록 추가</button>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|
|
|
|
<div class="divider"></div>
|
|
|
|
<h5 class="mt-5">학생 전체 삭제</h5>
|
|
|
|
<div class="mx-2 mb-2">등록된 모든 학생들의 정보를 삭제합니다.</div>
|
|
<div class="row justify-content-center">
|
|
<div class="col-sm offset-md-3">
|
|
<button type="button" class="btn btn-danger btn-lg disabled" onClick="addPlayer()">전체 삭제</button>
|
|
</div>
|
|
</div>
|
|
-->
|
|
|
|
</div> <!-- 학생 추가 -->
|
|
|
|
|
|
<div class="col-7 border border-warning rounded" style="background-color: #ffeab6">
|
|
<h5 class="my-3">학생 목록</h5>
|
|
|
|
<form id="add_player_list">
|
|
<div class="form-group row mx-2 mb-0 font-weight-bold">
|
|
<label class="col-form-label d-none">ID</label>
|
|
<label class="col-form-label col-sm">이 름</label>
|
|
<label class="col-form-label col-sm">입장 번호</label>
|
|
<label class="col-form-label col-sm-1"></label>
|
|
<label class="col-form-label col-sm-1"></label>
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test1">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test2">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test3">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test4">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test5">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test6">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test7">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test8">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test9">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
<div class="form-group player-list row mx-2 mb-1">
|
|
<input type="text" class="player_id d-none" value="test10">
|
|
<input type="text" class="player_name col-sm" value="test">
|
|
<input type="number" class="player_entercode col-sm" min="10" step="1" maxlength="8" value="test">
|
|
<input type="button" class="player_edit col-sm-1" value="✎">
|
|
<input type="button" class="player_delete col-sm-1" value="-">
|
|
</div>
|
|
|
|
</form>
|
|
|
|
<nav aria-label="add_player_list">
|
|
<ul class="pagination pagination-sm justify-content-center">
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" aria-label="Previous">
|
|
<span aria-hidden="true">«</span>
|
|
<span class="sr-only">Fastest</span>
|
|
</a>
|
|
</li>
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" aria-label="Previous">
|
|
<span aria-hidden="true"><</span>
|
|
<span class="sr-only">Previous</span>
|
|
</a>
|
|
</li>
|
|
<li> </li>
|
|
|
|
<li class="page-item"><a class="page-link" href="#">1</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">2</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">3</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">4</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">5</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">6</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">7</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">8</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">9</a></li>
|
|
<li class="page-item"><a class="page-link" href="#">10</a></li>
|
|
|
|
<li> </li>
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" aria-label="Next">
|
|
<span aria-hidden="true">></span>
|
|
<span class="sr-only">Next</span>
|
|
</a>
|
|
</li>
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" aria-label="Next">
|
|
<span aria-hidden="true">»</span>
|
|
<span class="sr-only">Latest</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
</div> <!-- 학생 목록 -->
|
|
|
|
</div> |