# onHideMessage (event)

> 시트의 메시지가 없어질때 실행되는 이벤트입니다.

> 이벤트를 통해서 외부 라이브러리의 메시지를 닫을 수 있습니다.

### Syntax

        onHideMessage: function(paramObject) {

        }
    or
        sheet.bind("onHideMessage" , function(paramObject) {});

### Parameters

Name | Type | Description
--- | --- | ---
sheet | `object` | 메시지가 발생한 시트 객체

### Return

none

### Example

    // [SweetAlert2](https://sweetalert2.github.io/)를 활용한 예제
    options.Events = {
        onShowMessage: function (evtParams) {
            if (window.Swal) {
                // showMessage와 showMessageTime에 따라 메시지 처리를 다르게 해준다.
                if (evtParams.isConfirm) {
                    Swal.fire({
                        title: "<div>" + evtParams.message + "</div>", // 메시로 보여질 문자열(HTML Tag 포함)
                        icon: 'warning',
                        showConfirmButton: (evtParams.buttons.indexOf("Ok") > -1), // 확인 버튼이 있으면 확인 버튼을 만들어준다.
                        showCancelButton: (evtParams.buttons.indexOf("Cancel") > -1), // 취소 버튼이 있으면 취소 버튼을 만들어준다.
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: '확인',
                        cancelButtonText: '취소',
                        timer: evtParams.time // showMessageTime의 time인자로 단위는 밀리초(ms)로 설정한다.
                    }).then((result) => {
                        if (result.value) {
                            // confirmButton이 눌렸을때 시트에서도 후속 기능이 실행되도록 callback을 통해 Ok 버튼이 눌린 정보를 전달한다.
                            if (evtParams.callback) evtParams.callback(evtParams.buttons.indexOf("Ok") + 1);
                        } else {
                            // cancelButton이 눌렸을때 시트에서도 후속 기능이 실행되지 않도록 callback을 통해 Cancel 버튼이 눌린 정보를 전달한다.
                            if (evtParams.callback) evtParams.callback(evtParams.buttons.indexOf("Cancel") + 1);
                        }
                    });
                } else {
                    Swal.fire({
                        title: "<div>" + evtParams.message + "</div>", // 메시로 보여질 문자열(HTML Tag 포함)
                        icon: 'success',
                        showConfirmButton: false // IBSheet는 단순 메시지에서 확인버튼을 노출 시키지 않기때문에 비슷하게 구현하려면 Swal의 버튼도 숨겨야한다.
                    }).then((result) => {
                        // Swal이 클릭이나 esc 키 등 Swal 액션으로 닫혔을때 sheet.hideMessage()도 같이 실행 시켜준다.
                        // sheet.hideMessage()호출로 Swal가 닫히면 result.value, result.dismiss 등 값이 없음.
                        // 무조건 sheet.hideMessage()를 호출하도록 코드가 구현되어 있으면 연속으로 메시지가 호출되는 경우 메시지가 제대로 보여지지 않을 수 있음.
                        if (result.value || result.dismiss) {
                            evtParams.sheet.hideMessage();
                        }
                    });
                }
                return true; // 시트 메시지를 대체함.
            }
        },
        onHideMessage: function (evtParams) {
            if (window.Swal) {
                // sheet.hideMessage()가 호출될때 Swal의 메시지도 close() 시켜준다.
                Swal.close();
            }
        }
    }

### Read More

- showMessageTime method
- hideMessage method
- SuppressMessage cfg
- onShowMessage event

### Since

product | version | desc
--- | --- | ---
core | 8.0.0.0 | 기능 추가