Files
chocomae/src/web/module/maestro_section_add_player.html
T

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">&laquo;</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">&lt;</span>
<span class="sr-only">Previous</span>
</a>
</li>
<li>&nbsp</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>&nbsp</li>
<li class="page-item">
<a class="page-link" href="#" aria-label="Next">
<span aria-hidden="true">&gt;</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">&raquo;</span>
<span class="sr-only">Latest</span>
</a>
</li>
</ul>
</nav>
</div> <!-- 학생 목록 -->
</div>