'use strict';
{
    // 定义需要自动聚焦的输入元素标签名（都是表单中可交互的输入组件）
    const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'];
    // 从页面隐藏元素中获取当前模型名称（Django 后台自动生成的标识）
    // 注：id为“django-admin-form-add-constants”的元素是Django后台渲染的隐藏容器，
    // 用于存储表单相关的元数据（如模型名）
    const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName;
    // 若模型名称存在（即当前页面是有效的模型表单页）
    if (modelName) {
        const form = document.getElementById(modelName + '_form');
        for (const element of form.elements) {
            // HTMLElement.offsetParent returns null when the element is not
            // rendered.
             // 判断元素是否符合聚焦条件：
            // 1. 元素标签名在inputTags中（是可交互的输入组件）
            // 2. 元素未被禁用（!element.disabled）
            // 3. 元素在页面中可见（element.offsetParent不为null，offsetParent为null表示元素未渲染或隐藏）
            if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) {
                element.focus();
                break;
            }
        }
    }
}
