Обновление админки и представлений для интеграций

This commit is contained in:
2026-01-15 12:20:39 +03:00
parent fb3074a2ed
commit c7e03d258b
3 changed files with 174 additions and 25 deletions

View File

@@ -176,11 +176,11 @@ document.addEventListener('DOMContentLoaded', function() {
function buildForm(fields, data) {
const container = document.getElementById('settings-fields');
container.innerHTML = '';
fields.forEach(field => {
const div = document.createElement('div');
div.className = 'mb-3';
if (field.type === 'checkbox') {
div.className = 'form-check mb-3';
div.innerHTML = `
@@ -189,11 +189,28 @@ document.addEventListener('DOMContentLoaded', function() {
<label class="form-check-label" for="field-${field.name}">${field.label}</label>
${field.help_text ? `<div class="form-text">${field.help_text}</div>` : ''}
`;
} else if (field.type === 'select') {
div.innerHTML = `
<label class="form-label" for="field-${field.name}">
${field.label}
${field.required ? '<span class="text-danger">*</span>' : ''}
</label>
<select class="form-select" id="field-${field.name}"
name="${field.name}"
${field.required ? 'required' : ''}>
${field.choices.map(choice => `
<option value="${choice[0]}" ${data[field.name] === choice[0] ? 'selected' : ''}>
${choice[1]}
</option>
`).join('')}
</select>
${field.help_text ? `<div class="form-text">${field.help_text}</div>` : ''}
`;
} else {
const inputType = field.type === 'password' ? 'password' : (field.type === 'url' ? 'url' : 'text');
const value = data[field.name] || '';
const placeholder = field.type === 'password' && value === '........' ? 'Введите новое значение для изменения' : '';
div.innerHTML = `
<label class="form-label" for="field-${field.name}">
${field.label}
@@ -206,7 +223,7 @@ document.addEventListener('DOMContentLoaded', function() {
${field.help_text ? `<div class="form-text">${field.help_text}</div>` : ''}
`;
}
container.appendChild(div);
});
}