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

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

        if( marketingPushInsertModal.callback )  {
            marketingPushInsertModal.callback(checkedData);
        }
        marketingPushInsertModal.close();
    },
    /****************************************************************************
     * 고객 정보 등록
     ****************************************************************************/
    //저장
    save:function() {
        // 템플릿 코드
        let muAppEventId = $("#modal_sel_pushTemplate .option_list_item.selected").attr('id');
        // 제목
        let title = $("#modal_pushTitle").val();
        // 내용
        let content = $("#modal_pushContent").val();
        // 사용자 정보
        let userArr = selectedRows;

        if ("Y" != insertUseYn) {
            modalEvent.warning("등록", "등록 권한이 없습니다.");
            return false;
        }
        
        // if(true != fn_emptyCheck(muAppEventId)){
        //     modalEvent.warning("등록", "앱 푸시 템플릿 정보가 없습니다.");
        //     return;
        // }

        if(true != fn_emptyCheck(title)){
            modalEvent.warning("등록", "제목 정보가 없습니다.");
            return;
        }

        if(true != fn_emptyCheck(content)){
            modalEvent.warning("등록", "내용 정보가 없습니다.");
            return;
        }

        if(true != fn_emptyCheck(userArr)){
            modalEvent.warning("등록", "발송대상 정보가 없습니다.");
            return;
        }

        //object 선언 후 데이터 등록
        let itemData = new Object();
        itemData.itemArr = userArr;

        //json 변경
        let userArrData = JSON.stringify(itemData);

        modalEvent.info("등록", "앱 푸시 발송대상을 등록하시겠습니까?", function(){
            let formData = new FormData();
            // formData.append("muUserId", muUserId);
            formData.append("menuClass", menuClass);
            formData.append("muAppEventId", muAppEventId);
            formData.append("title", title);
            formData.append("content", content);
            formData.append("userArrData", userArrData);

            $.ajax({
                url: encodeURI('/webpush/insertPush.do'),
                data: formData,
                dataType: "json",
                processData: false,
                contentType: false,
                type: 'POST',
                async:true,
                success: function(data){
                    if(data.msgCode=='0'){
                        modalEvent.success("성공", data.msgDesc, function(){
                            fn_leftFormAction2('070101','/webmarketing/selectListMarketingPushIntro.do');
                        });

                    }else{
                        modalEvent.danger("오류", data.msgDesc);
                    }
                },
                error : function(xhr, status, error) {
                    modalEvent.danger("등록 오류", "고객 등록 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
                },
                beforeSend: function () {
                },
                complete: function () {
                }
            });
        });
    },
    /*
     * 팝업
     * callback : 콜백함수, reqParam: 팝업파라미터
     */
    popup:function(callback, reqParam) {
        // 초기화 후 열기
        marketingPushInsertModal.init();

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

        setTimeout(function(){
            $("#marketingPushPopTotalCount").text(fn_numberFormat(selectedRows.length)+'명');

            $('#marketingPushInsertModal').modal('show')
        }, 200);

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

		setTimeout(function(){
			$('#marketingPushInsertModal').remove();
		},500);
    },
    HtmlTemplate :`
    <div class="modal send_modal fade" id="marketingPushInsertModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <p class="title">앱 푸시 발송대상</p>
                    <p class="total" id="marketingPushPopTotalCount">명</p>
                </div>
                    
                <div class="modal-body">
                    <div class="left_box">
                        <div class="select_box dropdown">
                            <button class="label" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">이벤트 선택</button>
                            <ul class="select_option_list dropdown-menu" id="modal_sel_pushTemplate">
                            </ul>
                        </div>
                    </div>
                    <div class="right_box">
                        <div class="inputBox">
                            <input type="text" id="modal_pushTitle" placeholder="푸시 제목을 20자 이내로 작성해주세요.">
                        </div>
                        
                        <div class="textareaBox">
                            <textarea id="modal_pushContent" placeholder="푸시 내용을 20자 이내로 작성해주세요."></textarea>
                        </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>
    <script>
        $(document).ready(function() {
            fn_selectListPushTemplateOption();
            fn_clickEvent();
        });
    </script>`
};






