// /public/js/admin/form.js
window.initFormModal = function (context) {
    const $context = context ? $(context) : $(document);

    // ✅ 캘린더
    $context.find(".calender").datepicker({
        changeYear: true,
        changeMonth: true,
        yearRange: "-10:+0",
        dateFormat: "yy-mm-dd"
    });

    // ✅ TinyMCE
    if ($context.find(".tinymce").length) {
        if (typeof tinymce !== "undefined") {
            tinymce.remove(); // 기존 인스턴스 제거
            tinymce.init({
                selector: ".tinymce",
                license_key: "gpl",
                height: 250,
                plugins: "advlist autolink lists link image charmap preview anchor",
                toolbar: "undo redo | bold italic underline | align | link image | code fullscreen preview",
                menubar: "file edit view insert format tools table help"
            });
        }
    }

    // ✅ Select2 (입력 허용)
    if ($context.find(".select-field").length) {
        $context.find(".select-field").select2({
            theme: "bootstrap-5",
            tags: true,
            allowClear: true,
            width: '100%',
            dropdownAutoWidth: true,
            language: {
                noResults: function () {
                    return "직접 입력 후 Enter"; // 사용자 안내
                }
            }
        });
    }

    console.log("✅ Form initialized inside modal:", context);
};

// ✅ DOM 전체 로드 후 (페이지 최초 로드시 실행)
document.addEventListener("DOMContentLoaded", function () {
    window.initFormModal(document);
});

// ✅ Modal 로드 시점에 재초기화
$(document).on("shown.bs.modal", ".modal", function (e) {
    window.initFormModal(this);
});