118 lines
4.9 KiB
HTML
118 lines
4.9 KiB
HTML
<!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>
|