Files
crm.clientright.ru/test_clean_drawer.html

118 lines
4.9 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Чистый тест AI Drawer</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
background: #f5f5f5;
}
.test-info {
background: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-bottom: 20px;
}
.status {
padding: 10px;
border-radius: 5px;
margin: 10px 0;
font-weight: bold;
}
.status.success { background: #d4edda; color: #155724; }
.status.error { background: #f8d7da; color: #721c24; }
.status.info { background: #d1ecf1; color: #0c5460; }
</style>
</head>
<body>
<div class="test-info">
<h1>🧪 Чистый тест AI Drawer</h1>
<p>Эта страница создает только один экземпляр AI Drawer без конфликтов.</p>
<div class="status info" id="status">
⏳ Инициализация AI Drawer...
</div>
<p><strong>Что тестируем:</strong></p>
<ul>
<li>✅ Создание AI Drawer без конфликтов</li>
<li>✅ Открытие/закрытие без перезагрузки страницы</li>
<li>✅ Загрузка истории чата</li>
<li>✅ Работа всех кнопок</li>
</ul>
<p><strong>Инструкции:</strong></p>
<ol>
<li>Нажмите на кнопку "AI" в правом нижнем углу</li>
<li>Убедитесь что drawer открывается без перезагрузки</li>
<li>Проверьте что загружается история</li>
<li>Попробуйте отправить сообщение</li>
</ol>
</div>
<!-- Подключаем AI Drawer -->
<link rel="stylesheet" href="layouts/v7/resources/css/ai-drawer.css">
<script src="layouts/v7/resources/js/ai-drawer.js"></script>
<script>
// Симулируем CRM окружение
window._USERMETA = {
id: '8',
name: 'Тестовый пользователь',
email: 'test@example.com'
};
// Симулируем URL параметры
const urlParams = new URLSearchParams('?module=Contacts&view=Detail&record=82823');
let aiDrawerInstance;
const statusDiv = document.getElementById('status');
// Инициализация
document.addEventListener('DOMContentLoaded', function() {
console.log('Clean Test: Page loaded, initializing AI Drawer');
statusDiv.textContent = '⏳ Создаем AI Drawer...';
statusDiv.className = 'status info';
try {
// Создаем единственный экземпляр
aiDrawerInstance = new AIDrawer();
statusDiv.textContent = '✅ AI Drawer успешно создан! Нажмите кнопку "AI" для тестирования.';
statusDiv.className = 'status success';
console.log('Clean Test: AI Drawer initialized successfully');
// Добавляем дополнительную проверку через секунду
setTimeout(() => {
const drawer = document.querySelector('.ai-drawer');
const toggleBtn = document.querySelector('.ai-drawer-toggle');
if (drawer && toggleBtn) {
console.log('Clean Test: All elements created successfully');
} else {
console.error('Clean Test: Missing elements:', { drawer: !!drawer, toggleBtn: !!toggleBtn });
statusDiv.textContent = '❌ Ошибка: Не все элементы созданы';
statusDiv.className = 'status error';
}
}, 1000);
} catch (error) {
console.error('Clean Test: AI Drawer initialization failed:', error);
statusDiv.textContent = '❌ Ошибка инициализации: ' + error.message;
statusDiv.className = 'status error';
}
});
// Отслеживаем перезагрузки страницы
window.addEventListener('beforeunload', function(e) {
console.warn('Clean Test: Page is being reloaded!');
});
</script>
</body>
</html>