(()=>{
    'use strict';

    window.G = window.G||{};

    $(()=>{

        // 공지사항 알림 발송
        $('.sub_cont .board_list').off('click').on('click', 'span.edit>.btn-send', (e) => {
            e.stopPropagation();
            popConfirm('해당 카풀 내용을 발송하시겠습니까?', function(){
                sendNoticeAlarm($(e.currentTarget).closest('a.type-notice').data('uid')); 
            });
        });

        //공지사항 수정
        $('.sub_cont .board_list').off('click').on('click', 'span.edit>.btn-edit', (e) => {
            e.stopPropagation();
            $('.foot_btn .foot_btn_back_history').data('target', 'list');
            $('.foot_btn .foot_btn_back_history').data('uid', '');
            openEditNotice('notice', $(e.currentTarget).closest('a.type-notice').data('uid'));
        });

        //공지사항 삭제
        $('.sub_cont .board_list').off('click').on('click', 'span.edit>.btn-delete', (e) => {
            e.stopPropagation();
            deleteNotice($(e.currentTarget).closest('a.type-notice').data('uid'), function(notice_id){
                $(`.board_list>li:has(a[data-uid=${notice_id}])`).remove();
            });
        });
    });

    // 공지사항 알림 발송
    function sendNoticeAlarm(notice_id, callback){
        // popConfirm('해당 카풀 내용을 발송하시겠습니까?', function(){
            requestAstro(`mdial/v1/notice/alarm/send`, {notice_id : notice_id}, 'post')
            .then(response => {
                console.log('sendNoticeAlert',"카풀 발송 성공" , response);
                popAlert("발송되었습니다.", callback);
            })
            .catch(reason => {
                console.log('sendNoticeAlert',"카풀 발송 실패" , reason);
                popAlert("오류가 발생했습니다.<br/>잠시 후 다시 시도해 주세요");
            });
        // });
    }

    function deleteNotice(notice_id, callback){
        popConfirm('삭제하시겠습니까?\n삭제한 데이터는 복구 할 수 없습니다.', function(){
            requestAstro(`notice/v1/notice/${notice_id}`, {}, 'delete')
            .then(response => {
                console.log('deleteNotice',"카풀 삭제 성공" , response);
                if(callback) callback(notice_id);
                popAlert("삭제되었습니다.");
            })
            .catch(reason => {
                console.log('deleteNotice',"카풀 삭제 실패" , reason);
                popAlert("오류가 발생했습니다.<br/>잠시 후 다시 시도해 주세요");
            });
        })
    }

    window.G = {
        ...window.G,
        sendNoticeAlarm : sendNoticeAlarm
    };
})();