
/* ##############################################################
	설  명 : [Modal]직무 등록 팝업
	작성일 : 2023. 01. 19.
	작성자 : NTsoft
	수정일 	        수정자 	 수정내용
	-------         -------- ---------------------------
	2023. 01. 19.	NTsoft 	 최초 생성
*/
let authInsertModal = {
    callback : null,
    reqParam : null,
    dataList : null,
    /* 모달 초기화 작업 */
    init : function () {
        $('#authInsertModal').remove();
        $('body').append( this.HtmlTemplate);
        //그리드 이벤트
        this.setEvent();
    },
    /* 그리드 이벤트 설정 */
    setEvent:function() {
        $('#authInsertModal .btnCancle').on("click", function(){
            authInsertModal.close();
        });

        $('#authInsertModal .btnSave').on("click", function(){
            authInsertModal.save("I");
        });
    },
    /* 데이터 선택 */
    setSelect:function(selectNumber) {
        let checkedData = dataList[selectNumber];
        if(dataList==null||checkedData==undefined){
            return ;
        }

        if( authInsertModal.callback )  {
            authInsertModal.callback(checkedData);
        }
        authInsertModal.close();
    },
    //저장
    save:function(state) {
        let authName     = $("#authInsertModal #modalGroupName").val();
        let orderNumber     = $("#authInsertModal #modalorderNumber").val();

        if(true != fn_emptyCheck(authName)){
            modalEvent.warning("등록", "권한 그룹명 정보가 없습니다.");
            return;
        }
        else{
            if(true != fn_lengthCheck(authName, 35)) {
                modalEvent.warning("등록", "권한 그룹명 정보는 35자를 넘을 수 없습니다.");
                return;
            }
        }
        if(true != fn_emptyCheck(orderNumber)){
            modalEvent.warning("등록", "정렬 순서가 없습니다.");
            return;
        }
        modalEvent.info("등록", "권한 그룹 정보를 등록하시겠습니까?", function(){
            let formData = new FormData();
            formData.append("menuClass", menuClass);
            formData.append("orderNumber", orderNumber);
            formData.append("authName", authName);

            $.ajax({
                url: encodeURI('/webauth/insertAuth.do'),
                data: formData,
                dataType: "json",
                processData: false,
                contentType: false,
                type: 'POST',
                async: true,
                success: function(data){
                    if('0'==data.msgCode){
                        modalEvent.success("등록 성공", data.msgDesc, function(){
                            if( authInsertModal.callback )  {
                                authInsertModal.callback();
                            }
                            authInsertModal.close();
                        });
                    }
                    else{
                        modalEvent.danger("등록 오류", data.msgDesc);
                    }
                },
                error : function(xhr, status, error) {
                    modalEvent.danger("등록 오류", "등록 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
                },
                beforeSend:function(){

                },
                complete:function(){

                }
            });
        });
    },
    /*
     * 팝업
     * callback : 콜백함수, reqParam: 팝업파라미터
     */
    popup:function(callback, reqParam) {
        // 초기화 후 열기
        authInsertModal.init();

        //콜백함수 지정.
        authInsertModal.callback = callback;
        authInsertModal.reqParam = reqParam;
        authInsertModal.dataList = null;

        setTimeout(function(){
            $('#authInsertModal').modal('show')
        }, 200);
    },
    /*
     * 팝업 닫기
     */
    close:function() {
        $('#authInsertModal').modal('hide');

		setTimeout(function(){
			$('#authInsertModal').remove();
		},500);
    },
    HtmlTemplate : `
	<div id="authInsertModal" class="modal group_add_jod_modal fade" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="">
		<div class="modal-dialog">
			<div class="modal-content">
				<div class="modal-header">
					<p class="title">권한 그룹 추가</p>
				</div>
	
				<div class="modal-body">
					<div class="form_box">
						<div class="input_box">
							<label>권한 그룹명</label>
							<input type="text" id="modalGroupName" placeholder="권한 그룹명" maxlength="35">
						</div>
						<div class="input_box">
							<label>정렬 순서</label>
							<input type="number" id="modalorderNumber" placeholder="0" maxlength="35">
						</div>
					</div>
				</div>

				<div class="modal-footer">
					<div class="btn_box">
						<button type="button" class="cancel_btn btnCancle">취소</button>
						<button type="button" class="registration_bth btnSave">등록</button>
					</div>
				</div>
			</div>
		</div>
	</div>
    `
};

